আমি চিত্রের ডেটার আসল বাইট-আকার পরিবর্তন না করে ইমেজম্যাগিকের সাথে ডিপিআই পরিবর্তন করতে চাই


45

জিম্পে আমি যা চাই তা করার একটি খুব সহজ উপায় রয়েছে। আমি কেবল জার্মান ডায়ালগ ইনস্টল করেছি তবে আমি এটি অনুবাদ করার চেষ্টা করব। আমি যাচ্ছি Picture -> PrintingSizeএবং তারপরে মানগুলি সামঞ্জস্য করার বিষয়ে বলছি X-Resolutionএবং Y-Resolutionযা আমার কাছে তথাকথিত ডিপিআই মান হিসাবে পরিচিত। আপনি পূর্বনির্ধারিত ফর্ম্যাটটিও চয়ন করতে পারেন Pixel/Inch। (জার্মান ভাষায় ডায়ালগের মাধ্যমে আপনি কে Bild -> Druckgrößeএবং সেখানে X-Auflösungএবং Y-Auflösung)

ঠিক আছে, মানগুলি 72ডিফল্টরূপে প্রায়শই থাকে । আমি যখন এগুলিকে পরিবর্তন করি যেমন 300এর প্রভাব রয়েছে যে কম্পিউটারে চিত্রটি একই থাকে তবে আমি যদি এটি মুদ্রণ করি তবে এটি যদি আপনার দিকে তাকানো হয় তবে এটি আরও ছোট হবে তবে সমস্ত বিবরণ এখনও সেখানে রয়েছে, কেবল ছোট -> এটি রয়েছে মুদ্রিত কাগজে একটি উচ্চতর রেজোলিউশন (তবে ছোট আকার ... যা আমার পক্ষে ভাল)।

আমি প্রায়শই এটি করছি যখন আমি ল্যাটেক্সের সাথে কাজ করছি বা pdflatexসাম্প্রতিক উবুন্টু-মেশিনে কমান্ডটি সহকারে করব । আমি যখন জিম্পের সাথে উপরের প্রক্রিয়াটি ম্যানুয়ালি করি তখন সবকিছু ঠিকঠাক কাজ করে। চিত্রগুলি ফলাফল পিডিএমে আরও ছোট প্রদর্শিত হবে তবে উচ্চ মুদ্রণের মানের সাথে with

আমি যা করার চেষ্টা করছি তা হ'ল জিআইএমপিতে যাওয়ার এবং ডিপিআইয়ের মানগুলিকে সামঞ্জস্য করার প্রক্রিয়াটি স্বয়ংক্রিয় করা। ইমেজম্যাগিক যেহেতু চমত্কার হিসাবে পরিচিত এবং আমি অন্যান্য সরঞ্জামের জন্য এটি ব্যবহার করেছি আমি এই সরঞ্জামটি দিয়ে আমার লক্ষ্য অর্জনের চেষ্টা করেছি। তবে এটি আমার যা ইচ্ছা তা করে না।

অনেক কিছুই চেষ্টা করার পরে, আমি মনে করি এটি হ'ল আদেশটি আমার বন্ধু হওয়া উচিত:

convert input.png -density 300 output.png

এটি ডিপিআইকে 300 এ সেট করা উচিত, কারণ আমি ওয়েবে যে কোনও জায়গায় পড়তে পারি। মনে হচ্ছে এটি কাজ করে। তবে আমি যখন ফাইলটি পরীক্ষা করি তখন এটি একই থাকে (এডিআইটি: যা আমি প্রত্যাশা করি, যেমন উপরে বর্ণিত)।

file input.png output.png
     input.png: PNG image data, 611 x 453, 8-bit grayscale, non-interlaced
    output.png: PNG image data, 611 x 453, 8-bit grayscale, non-interlaced

আমি যখন এই আদেশটি ব্যবহার করি তখন মনে হয় এটি আমার যা ইচ্ছা তা করেছে:

identify -verbose output.png | grep 300
    Resolution: 300x300
    PNG:pHYs                 : x_res=300, y_res=300, units=0

যথেষ্ট মজাদার, একই আউটপুট আসে input.pngযার জন্য আমাকে বিভ্রান্ত করে ... তাই এটি দেখার জন্য ভুল পরামিতি হতে পারে?

আমি যখন এখন আমার টেক্সটি pdflatexচিত্রের সাথে রেন্ডার করি তখনও বড় এবং অস্পষ্ট। এছাড়াও আমি যখন জিআইএমপি দিয়ে চিত্রটি খুলি তখন ডিপিআই মানগুলি 72পরিবর্তে সেট করা থাকে 300। সুতরাং আসলে কোন প্রভাব ছিল না।

এখন এখানে সমস্যা কি। আমি কি কিছু ভুল করছি? আমি এতটা ভুল হতে পারি না যেহেতু জিম্পের সাথে সবকিছু ঠিকঠাক কাজ করে।

এই কোন সাহায্যের জন্য ধন্যবাদ। আমি অন্যান্য স্বয়ংক্রিয় সমাধানগুলির জন্যও উন্মুক্ত যা সহজেই একটি লিনাক্স সিস্টেমে সম্পন্ন হয়।


ইউজার ১69৯৪৮০৩: আপনার অবশ্যই মার্টিন উইলসনের উত্তরে ফিরে যেতে হবে এবং এটিকেও 'আপভোট' করা উচিত ( ^তাঁর উত্তরের বাম দিকে ছোট আইকনে ক্লিক করুন ), পর্যাপ্ত ব্যক্তিগত খ্যাতি পাওয়ার সাথে সাথে কেবল এটি 'গ্রহণ' করবেন না (আমার মনে হয় আপনার প্রয়োজন হবে) +15) ...
কুর্ট ফেফিল

উত্তর:


76

ইউনিটগুলি উল্লেখ করুন - মনে হচ্ছে মনে হচ্ছে আমি যখন এই বিকল্পটি বাদ দিয়েছিলাম তখন সমস্যা ছিল (যদিও ডিপিআই অবশ্যই ডিফল্ট হওয়া উচিত):

convert -units PixelsPerInch input.png -density 300 output.png

আপনি কী জানেন যে রেজোমেশনটি পড়ার জন্য জিএমপি কোন এম্বেডড ডেটা ফিল্ড ব্যবহার করে - ইমেজম্যাগিক দ্বারা ব্যবহৃত স্ট্যান্ডার্ডগুলি ওভাররাইড করে এটির কী নিজস্ব নিজস্ব? উদাহরণস্বরূপ, ফটোশপ ব্যবহার করে Photoshop:XResolutionএবং Photoshop:YResolutionতাই আপনাকে ঘনত্বের সেটিংটি স্বীকৃতি দেওয়ার জন্য ফটোশপের জন্য এটি সেট করতে হবে (চিত্রম্যাগিক এটি করতে পারে না - আমরা এক্সিফটুল ব্যবহার করি)।


2
আমার -density 300আগে রাখা দরকার ছিল input.png। আমি পিডিএফ রূপান্তর করছিলাম। যাই হোক ধন্যবাদ.
akostadinov

পিএনজি থেকে টিআইএফএফ রূপান্তরটি ব্যবহার করার জন্য আমার দরকার ছিল -set units PixelsPerInch -density 300, -unitsবিকল্পগুলির ক্রম নির্বিশেষে সহজ কাজ করে না।
অ্যান্ড্রে

5

দ্রষ্টব্যগুলি পড়তে আপনি এক্সিফটল ব্যবহার করতে পারেন তা নোট করুন। উদাহরণস্বরূপ, প্রদর্শিত Exiftool '-*resolution*' c.jpgহতে পারে

রেজোলিউশন ইউনিট: ইঞ্চি এক্স রেজোলিউশন: 300 ওয়াই রেজোলিউশন: 300

এক্সিফটোল পরামিতিগুলি সেট করতে সক্ষম, তবে ম্যান পৃষ্ঠাতে উল্লিখিত হিসাবে Image::ExifTool::TagNames, এক্সট্রা ট্যাগস এক্সরোলিউশন এবং ওয়াই রিসোলিউশন এক্সিফটোল দ্বারা লিখিত হয় না।

আমি জানি না যে ইমেজম্যাগিকের রেজোলিউশন-পরিবর্তনের বিকল্প রয়েছে কিনা, তবে তা না হলে অবাক হয়ে যাবেন। এছাড়াও, এই জাতীয় কাজগুলি স্বয়ংক্রিয় করতে জিআইএমপি স্ক্রিপ্টগুলি লেখার পক্ষে সহজ এবং ছোট প্রোগ্রামগুলির সাথে রেজোলিউশনগুলিও পরিবর্তন করা সম্ভব। উদাহরণস্বরূপ, নীচে একটি সি প্রোগ্রাম রয়েছে (এর মাধ্যমে সংকলনযোগ্য gcc setRes.c -O3 -Wall -o setRes) যা কোনও জেপিগ ফাইলের প্রথম কয়েকটি বাইট পড়ে, রেজোলিউশনগুলি 300 এ পরিবর্তন করে এবং সেগুলি পুনর্লিখন করে। প্রোগ্রাম হিসাবে দেখানো হয়েছে x86 এর মতো লিটল এন্ডিয়ান মেশিনগুলির জন্য ধ্রুবক ব্যবহার করে। এটা পছন্দ একটি বার্তা বিনষ্ট উচিত বড় endian মেশিনে চালানোর প্রয়োজন হলে Error: xyz may be not a .jpg file, এমনকি যদি Xyz হয় কোন JPEG ফাইল। দ্রষ্টব্য, আমি ফলাফলের মাধ্যমে ছবিগুলি পরীক্ষা করিনি pdflatex; আপনি সম্ভবত এসইএস টেক্সটিতে একটি প্রশ্ন পোস্ট করা উপযুক্ত মনে করবেন ।

/* jiw -- 24 Sep 2012 -- Re: set resolution in a jpg -- Offered without
warranty under GPL v3 terms as at http://www.gnu.org/licenses/gpl.html
*/
#include <stdlib.h>
#include <stdio.h>
void errorExit(char *msg, char *par, int fe) {
  fprintf (stderr, "\n%3d Error: %s %s\n", fe, msg, par);
  exit (1);
}
// Note, hex constants are byte-reversed on little vs big endian machines
enum { JF=0x464a, IF=0x4649, L300=0x2c01, B300=0x012c, NEWRES=L300};
int main(int argc, char *argv[]) {
  FILE *fi;
  short int buf[9];
  int r, L=sizeof buf;
  if (argc<2) errorExit(argv[0], "requires a .jpg file name", 0);
  fi = fopen(argv[1], "r+b");
  if(!fi) errorExit("open failed for", argv[1], ferror(fi));
  r = fread(buf, 1, L, fi);
  if (r != L) errorExit("read failed for", argv[1], ferror(fi));
  if (buf[3] != JF || buf[4] != IF) // Check JFIF signature
    errorExit(argv[1], "may be not a .jpg file", 0);
  buf[7] = buf[8] = NEWRES;
  fseek(fi, 0, SEEK_SET);
  r = fwrite(buf, 1, L, fi);
  if (r != L) errorExit("write failed for", argv[1], ferror(fi));
  return 0;
}

1
এটি আমার পক্ষে খুব একটা সহায়তা করে না, যেহেতু আমি পিএনজি নিয়ে কাজ করছি এবং জেপিজি বা এমনকি সি সম্পর্কে খুব বেশি ধারণা নেই, এটি আমার দরকারী হওয়ার জন্য "গভীর" জ্ঞান। হতে পারে অন্য কেউ এটি ব্যবহার করতে পারেন।
বরিস ডাপেন

হ্যাঁ, প্রশ্নটির দিকে আমার আরও মনোযোগ দেওয়া উচিত ছিল! এটি পড়ার পরে, জেপিজির উল্লেখ নেই, পিএনজি পরিষ্কারভাবে রয়েছে।
জেমস ওয়াল্ডবি - jwpat7

হ্যাঁ, আমি অন্য কেউ এবং আমি এটি ব্যবহার করতে পারি: আমি আমার .jpg ফাইলটি একটি হেক্স সম্পাদকে খুলেছি এবং উল্লম্ব এবং অনুভূমিক ঘনত্বের জন্য নবম এবং একাদশ বাইট সম্পাদনা করেছি। কথা বলার জন্য আমি আপনার কোডটি ম্যানুয়ালি "কার্যকর" করেছি।
u_Ltd।

2

আমি কীভাবে কেবল মেটাডেটা যুক্ত করতে এবং আমার [একরঙা] বিটম্যাপটিকে পুনরায় এনকোড না করে রূপান্তর করতে পারি তা বুঝতে পারি না ; এটি ফাইলটি 50% প্রসারিত করছিল।

আমি আবিষ্কার করেছি যে পিএনজিক্রাশ (কোনও চিত্রম্যাগিক সরঞ্জাম নয়) এছাড়াও ঘনত্বের মেটাডেটা যুক্ত করতে পারে। এই কমান্ড লাইনটি এটি 600dpi চিহ্নিত করে এবং অন্যান্য অপ্টিমাইজেশনের অনুমতি দেয়, যা ফাইলের আকার ~ 10% হ্রাস করেছে:

pngcrush -res 600 in.png out.png

-1

"আমি চিত্রের ডেটার আসল বাইট-আকার পরিবর্তন না করেই ইমেজম্যাগিকের সাথে ডিপিআই পরিবর্তন করতে চাই" "

এটি সম্পূর্ণ অসম্ভব!

কারণ:

     more "Dots per Inch" 
<==> more pixels per area 
<==> more total pixels per image 
<==> more total bytes per image

বাস্তবে আপনি ডিপিআই বুঝতে পারছেন না:

  1. এটি একটি সম্পূর্ণ বিমূর্ত মান যা কেবল প্রিন্টআউটের পরম আকার জানার ক্ষেত্রে বা পর্দা বা মনিটরে রেন্ডারিংয়ের ক্ষেত্রেই ব্যবহারিক মান পায়:
    • আপনি 1 ইঞ্চি প্রশস্ত বর্গক্ষেত্রে খুব একই 72x72 পিক্সেল চিত্রটি 'মুদ্রণ' করতে পারেন: মুদ্রণটির রেজোলিউশন থাকবে 72dpi
    • আপনি এটি 1/4 ইঞ্চি প্রশস্ত স্কোয়ারেও 'মুদ্রণ' করতে পারেন: তারপরে মুদ্রণের রেজোলিউশন হবে 288dpi
    • ( দ্রষ্টব্য: আপনি যদি এটি 288dpi1 ইঞ্চি স্কোয়ারে 'মুদ্রণ' করেন তবে এটি আর একই চিত্র নয়: এটি প্রিন্টার ড্রাইভার বা অন্য কোনও ফিল্টারিং মেকানিজমের মাধ্যমে কিছুটা এক্সট্রাপোলেশন হবে এবং এটি পরিবর্তে একটি 288x288 পিক্সেল চিত্র হয়ে উঠবে) একটি 72x72 পিক্সেল চিত্র ... )
  2. উভয় মুদ্রণগুলিতে খুব একই চিত্রের তথ্য থাকবে - 288 ডিপিআই চিত্রটি হঠাৎ করে বেশি হবে না।

আপনি যদি 1 ইঞ্চি প্রশস্ত বর্গক্ষেত্র হিসাবে মূল 72x72 পিক্সেল চিত্রটি মুদ্রণ করতে চান তবে 288dpiতবে আপনাকে অবশ্যই চিত্রটি পুনরুদ্ধার করতে হবে ( এক্ষেত্রে এটি স্কেলিং করে)। আসল প্রতি 1 পিক্সেলের জন্য আপনার নতুন, আপস্কেল করা চিত্রের 4 পিক্সেল লাগবে। এখন বিভিন্ন অ্যালগরিদম রয়েছে যা এই 4 পিক্সেলের (তাদের মধ্যে 3 টি নতুন পিক্সেলের) রঙের মান কী তা গণনা করতে ব্যবহার করা যেতে পারে:

  • আপনি তাদের মূল পিক্সেলের মতোই দিতে পারেন (যা খুব "কাঁচা" অ্যালগরিদম,
  • অথবা আপনি প্রতিবেশী পিক্সেলের রঙের মানগুলির সাথে মূল পিক্সেলের রঙ মানের কিছু গড় করতে পারেন।

যাইহোক আপনি 288 সারি পিক্সেল সমন্বিত একটি বড় চিত্র তৈরি করছেন যা প্রতি 288 পিক্সেল উচ্চ (288x288 পিক্সেল)।

আপনি যখন "চিত্র -> মুদ্রণের আকার" এর মাধ্যমে যান তখন গিম্প আপনার জন্য কী করে: এটি পরম পিক্সেল আকারগুলিতে প্রয়োজনীয় পরিবর্তনগুলি পুনরায় গণনার প্রক্রিয়াটিকে সহজতর করে তোলে, এটি আরও বেশি ব্যবহারকারী বান্ধব করে তোলে। এই উদ্দেশ্যে...

  • ... এটি প্রথমে আপনাকে ডিপিআই সম্পর্কে জিজ্ঞাসা করবে কারণ প্রদত্ত মুদ্রকটি তার মুদ্রণ রেজোলিউশনকে নির্বিচারে পরিবর্তন করতে পারে না (কেউ কেউ কেবল একটিটিকে নয়, এমনকি 2 বা 3 বিভিন্ন রেজোলিউশনও দিতে পারে)। সুতরাং এটি আপনাকে জিজ্ঞাসা করে যে আপনি কোন রেজোলিউশনে মুদ্রণ করতে চান। এটিই প্রথম তথ্য।
  • ... তারপরে এটি দ্বিতীয় টুকরো তথ্যের জন্যও জিজ্ঞাসা করে: কোন আকারে (ইন cm, mmবা inch) মুদ্রণটি কাগজে প্রদর্শিত হবে।

তথ্যের এই দুটি টুকরো অনুসারে গিম্প তারপরে অনুরোধকৃত রেজোলিউশনে অনুরোধ করা স্থানটি পূরণ করতে এটি ব্যবহার করতে হয় এমন পিক্সেলগুলির মোট সংখ্যা (পিক্সেলের মূল সংখ্যা থেকে এক্সট্রোপোলেট) গণনা করে।

যাইহোক, একটি রাস্টার চিত্রটিকে আরও পিক্সেলযুক্ত করে তৈরি করা এতে আসল তথ্য যোগ করে না এবং এটি কেবল 'গুণমান' যুক্ত করে যা কল্পিত। মে চেহারা মানুষের চোখে সুন্দর যদি অ্যালগরিদম আপ আপনার স্কেল একটি 'ভালো' অন্যতম। এবং এটি কুরুচিপূর্ণ দেখাবে, যদি আপনি কিছু সাধারণ অ্যালগরিদমের মতো কেবল পিক্সেলগুলি দ্বিগুণ, ত্রিগুণ বা চতুর্ভুজ করেন।

রাস্টার চিত্রগুলির জন্য,
ডিপিআই সেটিংটি কেবলএটি মুদ্রণ বা প্রদর্শনের প্রসঙ্গে প্রাসঙ্গিক। কারণ মুদ্রক বা মনিটরগুলি নির্দিষ্ট রেজোলিউশন দিয়েছে। এর জন্য এটি কেবল তথ্য ...

  • ... একটি প্রিন্টার ড্রাইভার বা
  • ... একটি চিত্র প্রক্রিয়াকরণ অ্যাপ্লিকেশন যা মুদ্রণ সমর্থন করে

জানা দরকার.

এবং ইমেজম্যাগিকের ডকুমেন্টেশন আমার সাথে সম্পূর্ণ চুক্তিতে রয়েছে:

-density width
-density widthxheight
ডিভাইসে রেন্ডার করার জন্য একটি চিত্রের অনুভূমিক এবং উল্লম্ব রেজোলিউশন সেট করুন

ভেক্টর চিত্র বা ফাইল ফর্ম্যাটগুলির জন্য
(যেমন পিডিএফ বা পোস্টস্ক্রিপ্ট) ডিপিআই সেটিংসেগুলি রাস্টারাইজ করার প্রসঙ্গে অত্যন্ত গুরুত্বপূর্ণ। একটি উচ্চতর ডিপিআই আরও চিত্রের তথ্য রাস্টার ফর্ম্যাটে স্থানান্তর করবে এবং তাই আসল মূল গুণ থেকে আরও বিশদ সংরক্ষণ করবে। প্রদত্ত আকারের ভেক্টর চিত্রকে রূপান্তর করার সময়mm,cmবাinchউচ্চতর ডিপিআই সহ রাস্টারহিসাবে রূপান্তরিত করার সময়সরাসরি চিত্রটিতে মোট পিক্সেলের একটি উচ্চতর সংখ্যায় অনুবাদ করা হবে।

এছাড়াও, চিত্রম্যাগিক 'মুদ্রণ' এর মতো সমর্থন করে না। পরিবর্তে, শুধুমাত্র ইমেজম্যাগিক ...

  • ... প্রদত্ত রাস্টার ফর্ম্যাট থেকে ফাইলগুলি অন্য রাস্টার ফর্ম্যাটে রূপান্তর করে;
  • ... অথবা এটি রাস্টার চিত্রগুলি নীচে বা স্কেল করে;
  • ... বা এটি একটি নির্দিষ্ট অ্যালগোরিদম অনুযায়ী রঙের মান পরিবর্তন করে;
  • ... বা এটি চিত্রগুলি কাটা, তাদের ওভারলে করে, উল্টায়, আয়নাগুলি;
  • ...এবং কি না....

... তবে ম্যানিপুলেটেড চিত্রগুলি মুদ্রণ করতে আপনার একটি আলাদা প্রোগ্রাম ব্যবহার করা দরকার।

কিছু চিত্র ফর্ম্যাট (টিআইএফএফ, পিএনজি, ...) তাদের মেটা ডেটাতে অভ্যন্তরীণভাবে একটি ডিপিআই সেটিং সংরক্ষণ করার জন্য সমর্থন করে।

তবে এটি কোনও 'ইঙ্গিত' বৈশিষ্ট্য ছাড়া আর কোনও নয় যা অন্তর্নিহিত রাস্টার চিত্রটিকে পরিবর্তন করে না। এই কারণেই আপনি এই আবিষ্কারটি করেছেন:

"আমি যখন ফাইলটি পরীক্ষা করি তখন এটি একই থাকে।"

এই 'ইঙ্গিত' সম্ভবত মুদ্রক ড্রাইভার বা ল্যাটেক্সের মতো পৃষ্ঠা তৈরি প্রোগ্রামগুলি দ্বারা স্বয়ংক্রিয়ভাবে মূল্যায়ন করা যেতে পারে। এ জাতীয় ডিপিআই 'ইঙ্গিতগুলি' না থাকলে (বা যদি তারা কোনওভাবে লাটেক্স তাদের কাছ থেকে প্রত্যাশা করে সেভাবে উপস্থাপন না করে), লেটেক্সকে এখনও কোনও পৃষ্ঠায় যেভাবে চিত্র প্রত্যাশা করা হয়েছে সেভাবে রেন্ডার করার আদেশ দেওয়া উচিত should থেকে - এটি চিত্রের চারপাশে আরও কিছু স্পষ্ট ল্যাটেক্স কোড প্রয়োজন!

কিছু অন্যান্য চিত্র ফর্ম্যাটগুলি (জেপিইজি (?), বিএমপি, ...) এমনকি তাদের অভ্যন্তরীণ মেটা ডেটাতে ডিপিআই ইঙ্গিত সংরক্ষণ করার পক্ষে সমর্থন করে না।

সুতরাং জিম্প কেবল "চিত্র -> মুদ্রণের আকার" দিয়ে যা করছে তা আপনি সমর্থন করেন কারণ এটি কোনও চিত্র মুদ্রণ করতে চায়। ইমেজম্যাগিকের সাহায্যে আপনি মুদ্রণ করতে পারবেন না।

আপনি মুদ্রণ করার সময় জিম্পের সাথে আপনি যা করতে চান তা করতে থাকুন। ইমেজম্যাগিক দিয়ে এটি বোঝা যায় না।

আরও দেখুন এই অতিরিক্ত আইএম ডকুমেন্টেশন স্নিপেট , যা ভিন্ন শব্দ খুব একই বিষয়ের ব্যাখ্যা করে।


সুতরাং কি এই অবশেষ:

  • যদি আপনি গিম্পের সাথে আপনার চিত্রটি 'ম্যানিপুলেট' করেন এবং তারপরে ফলাফলটি ল্যাটেক্সে এম্বেড করেন তবে পৃষ্ঠাটি আপনি প্রত্যাশা করছেন বলে মনে হচ্ছে।
  • আপনি করে ImageMagick সঙ্গে 'নিপূণভাবে' আপনার ইমেজ, এবং তারপর ক্ষীর ফলাফলের এম্বেড পারেন, পৃষ্ঠা সৌন্দর্য না মনে হচ্ছে আপনি আশা।

উপরের সমস্যাটি সমাধান করার জন্য দয়া করে নীচে সরবরাহ করুন:

  • আপনার ইমেজম্যাগিক ইনস্টলেশনটির সঠিক সংস্করণ (এর সম্পূর্ণ আউটপুট convert -versionএবং convert -list configure);
  • (একটি লিঙ্ক) মূল নমুনা চিত্র;
  • (এর লিঙ্ক) একই চিত্র জিম্প দ্বারা চালিত;
  • ইমেজম্যাগিক দ্বারা পরিচালিত একই চিত্র (এর লিঙ্ক)।

এইভাবে আমরা সমস্যা সমাধানে সহায়তা করতে পারি।

তবে দ্রষ্টব্য: এটি আপনার বর্তমান বিষয় / শিরোনামটি যা বলেছে তার থেকে আলাদা সমস্যা: "আমি চিত্রের ডেটার প্রকৃত বাইট-আকার পরিবর্তন না করে ইমেজম্যাগিকের সাথে ডিপিআই পরিবর্তন করতে চাই"


হালনাগাদ

যেহেতু কিছু পাঠকের কাছে এখনও এটি পরিষ্কার নয় যে আমি উপরে কী উল্লেখ করেছি, তাই এখানে আরও একটি প্রচেষ্টা করা হয়েছে ...

কোনও ইমেজ ফাইলের অভ্যন্তরে 'রেজোলিউশন' বা 'ঘনত্ব' হিসাবে যা কিছু স্বীকৃত তা হ'ল মেটাডেটা বৈশিষ্ট্য । ফাইল দ্বারা বর্ণিত প্রকৃত পিক্সেলের সংখ্যার উপর এর কোনও প্রভাব নেই এবং এ ক্ষেত্রে সম্পূর্ণ অপ্রাসঙ্গিক। এটি কেবলমাত্র একটি ইঙ্গিত যা মুদ্রণ, রেন্ডারিং ডিভাইস বা কোনও অ্যাপ্লিকেশন চিত্রটি প্রিন্টিং, রেন্ডারিং বা প্রদর্শন করার সময় অনুসরণ করতে পারে বা নাও করতে পারে

এই উদ্দেশ্যে, এটি চিত্রের ফাইলের মধ্যে সঞ্চিত কেবলমাত্র কয়েকটি সংখ্যা। এই সংখ্যাগুলি আউটপুট ডিভাইসগুলি যেমন প্রিন্টারগুলিকে বলে এবং প্রতি ইঞ্চিতে কতগুলি বিন্দু (বা পিক্সেল) চিত্র প্রদর্শিত হবে তা প্রদর্শন করে। পোস্টস্ক্রিপ্ট, পিডিএফ, এমডাব্লুএফ এবং এসভিজির মতো ভেক্টর ফর্ম্যাটগুলির জন্য এটি পিক্সেল স্কেলটিকে চিত্র দ্বারা ব্যবহৃত কোনও বাস্তব বিশ্বের স্থানাঙ্ক আঁকতে বলে।

একটি উদাহরণ, যেখানে চিত্র মেটাডাটের অভ্যন্তরে চিত্রম্যাগিক দ্বারা উল্লিখিত রেজোলিউশন মানটি কোনও অ্যাপ্লিকেশন দ্বারা সম্মানিত হয় না তা হ'ল অ্যাডোব ফটোশপ। ফটোশপ 8bim নামের মালিকানাধীন প্রোফাইলে একটি পছন্দসই মুদ্রণ বা ডিসপ্লে রেজোলিউশন সম্পর্কে তার ইঙ্গিতগুলি সঞ্চয় করে । কোনও চিত্র ফাইলের মেটাডেটাতে রেজোলিউশন পরিবর্তন লিখতে বলা হলেও চিত্র-ম্যাগিক এই প্রোফাইলটিকে স্পর্শ করে না। অন্যদিকে ফটোশপ অন্যথায় স্ট্যান্ডার্ড মেটাডেটা ফিল্ডে ইমেজম্যাগিক দ্বারা সঞ্চিত সমস্ত রেজোলিউশন ইঙ্গিতগুলিকে অগ্রাহ্য করবে যা এটির নিজস্ব 8 বিম প্রোফাইল দেখার সাথে সাথেই এই উদ্দেশ্যে সংজ্ঞায়িত করা হয়েছে ।

ওপিতে শিরোনামটি বেছে নেওয়া উচিত ছিল:

  • 'আমি ইমেজটিতে পিক্সেলের আসল সংখ্যা পরিবর্তন না করে ইমেজম্যাগিকের সাথে ডিপিআই (মেটাডেটা রেজোলিউশন ইঙ্গিত) পরিবর্তন করতে চাই'

সমস্ত ভুল বোঝাবুঝি এড়ানোর জন্য ...


1
"আমি যখন ফাইলটি পরীক্ষা করি তখন এটি একই থাকে।" এটাই আমি চাই. আমি পাঠ্যে বলি না যে এই উত্সাহটি আমার। অনুগ্রহ করে আমার প্রশ্নটি আবার পড়ুন ... স্বল্প ... আরজিএল
বরিস ডাপেন

6
"এটি সম্পূর্ণ অসম্ভব!" না এটি সম্ভব নয় ... এটি মুদ্রণের সময় চিত্রটি সঙ্কুচিত হয়। যা আমি আমার প্রশ্নের খুব বিস্তারিতভাবে ব্যাখ্যা করেছি
বোরিস ডাপ্পেন

5
তুমি কি সম্পর্কে বলছিলে. আমি প্রশ্নের অভ্যন্তরে আমার ব্যবহারের বিষয়টি বিস্তারিতভাবে বর্ণনা করেছি have আপনি যদি কেবল শিরোনাম অনুসারে প্রশ্নের উত্তর দেন তবে আপনি এখানের কারও কাছে সহায়ক নন।
বরিস ডাপ্পেন

4
আপনার মারাত্মক ত্রুটিটি প্রাথমিক অনুমান ছিল: "প্রতি ক্ষেত্র প্রতি আরও পিক্সেল <==> প্রতি চিত্রে আরও মোট পিক্সেল" অঞ্চলটি যদি স্থির থাকে তবেই এটি সত্য। এই ক্ষেত্রে না হয়.
লিও ইজেন

1
হ্যাঁ. ডিপিআই কেবলমাত্র অর্থবহ হয় যদি ডিভাইসে রেন্ডার করা হয়। এটি এমন ক্ষেত্র হিসাবেও ঘটে যা এই রেজোলিউশনটি প্রাসঙ্গিক হওয়ার জন্য কোনও চিত্র ফাইলে সংরক্ষণ করা যেতে পারে। প্রশ্নটিতে পিক্সেল ডেটা পরিবর্তন না করে এই ক্ষেত্রটি কীভাবে পরিবর্তন করা যায় তা স্পষ্টভাবে প্রশ্ন করা হয়েছিল।
লিও ইজেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.