मुख्य सामग्री पर जाएँ

अवलोकन

Image Resizer एक command-line application है, जिसे .NET के साथ images का आकार बदलने के लिए बनाया गया है। यह आपको bytes में target size और एक output folder निर्दिष्ट करके दी गई image का आकार बदलने की अनुमति देता है।

यह tool मूल image की समानता बनाए रखने का लक्ष्य रखता है। किसी भी अंतर को मानव दृष्टि की सहनशील सीमाओं के भीतर रहना चाहिए।

यह tool cross correlation algorithm का उपयोग करने वाले comparison tests में 90% या उससे अधिक visuality similarity score के लक्ष्य के साथ output प्रदान करता है।

Import / Export integration

Supported files को Glasswall Engine के export function का उपयोग करके process किया जा सकता है। यह function एक ZIP file output करता है, जिसमें मूल document से निकाली गई सभी images शामिल होती हैं।

यह सुविधा images की custom processing की अनुमति देती है, जिन्हें फिर import function का उपयोग करके मूल document में दोबारा डाला जा सकता है।

हालाँकि, कुछ integration limitations हैं जिनके बारे में आपको अवगत होना चाहिए:

  • Images के file names को मूल names से अलग किसी भी नाम में बदलने पर import process के दौरान images को document में वापस रखने में विफलता होगी।
  • File names case sensitive होते हैं।
  • यदि किसी image का file size मूल size से अधिक हो जाता है, तो import सफल नहीं हो सकता।

यह tool users को images का आकार ऐसे target size तक बदलने में सक्षम बनाता है, जो मूल file size से कम या उसके बराबर हो, जिससे import process सुचारु बना रहता है।

उपयोग:

gw_image_resizer [options]

विकल्प:

  -i, --in <filename> (REQUIRED)                               Input file name
-o, --out <filename> (REQUIRED) Output file name
-t, --target <max size in bytes> (REQUIRED) Target maximum output file size
-l, --memory-limit <max memory limit percentage> (OPTIONAL) An optional number that specifies the maximum amount of system memory percent the image resize is limited to [default: 50]
-T, --temp-dir <path> (OPTIONAL) Defines the path to an existing directory where temporary files are created during processing [default: $TMPDIR/.gw-image-resizer]
-?, -h, --help Show help and usage information
--version Show version information

एग्ज़िट कोड

एग्ज़िट कोडविवरण
0सफलतापूर्वक resize किया गया या फ़ाइल पहले से ही लक्ष्य आकार की थी
1इनपुट फ़ाइल का लक्ष्य आकार शून्य से कम है
2इनपुट फ़ाइल नहीं मिली
3इनपुट फ़ाइल लोड नहीं की जा सकी क्योंकि यह corrupt है या unsupported है
4अज्ञात कारण से इनपुट फ़ाइल लोड नहीं की जा सकी
5आउटपुट path का एक भाग मौजूद नहीं है
6अज्ञात कारण से आउटपुट फ़ाइल नहीं लिखी जा सकी
7resize करने का प्रयास करते समय magick library में सामान्य त्रुटि
8वांछित लक्ष्य आकार तक नहीं पहुँचा जा सका
9अप्रत्याशित त्रुटि
10मेमोरी सीमा विकल्प 1-100 के बीच नहीं था
11अस्थायी डायरेक्टरी path नहीं मिला
12अस्थायी डायरेक्टरी में लिखना संभव नहीं हुआ

अस्थायी डायरेक्टरी

फ़ाइलों का सफलतापूर्वक आकार बदलना सुनिश्चित करने के लिए, प्रोसेसिंग के दौरान image resizer tool "$TMPDIR/.gw-image-resizer" या "/tmp/.gw.image-resizer" पर स्थित एक अस्थायी डायरेक्टरी का उपयोग कर सकता है। इसे वैकल्पिक command line option "--temp-dir" (या संक्षेप में "-T".) के साथ किसी मौजूदा writeable डायरेक्टरी पर ओवरराइड किया जा सकता है।

नोट: यदि अस्थायी डायरेक्टरी writeable नहीं है (उदाहरण के लिए, वर्तमान उपयोगकर्ता के पास पर्याप्त अनुमति नहीं है), तो जब image processing data को cache करने की आवश्यकता होगी, तब application विफल हो जाएगा। यह अनुशंसा की जाती है कि संचालन के दौरान छिटपुट समस्याओं से बचने के लिए परीक्षण कर लें कि उपयोगकर्ता उस डायरेक्टरी में लिख सकता है।

मेमोरी सीमित करना

डिफ़ॉल्ट रूप से, images का आकार बदलने के लिए उपयोग की जाने वाली memory allocation system memory के 50% तक सीमित होती है। इसे वैकल्पिक command line option "-l" के साथ 1-100 के बीच किसी मान पर ओवरराइड किया जा सकता है।

समर्थन

यह tool वर्तमान में निम्नलिखित का समर्थन करता है:

  • JPEG
  • PNG
  • BMP
  • TIFF (GeoTiff ज्ञात समस्या देखें)
  • GIF

ImageMagick द्वारा समर्थित अन्य फ़ाइलें सही ढंग से लोड हो सकती हैं, लेकिन उन्हें स्पष्ट रूप से लागू नहीं किया गया है।

आकार बदलने की रणनीति

सभी समर्थित image files लक्ष्य आकार तक पहुँचने के लिए कई methods के एक सेट से गुजरती हैं। उदाहरण के लिए:

संपीड़न गुणवत्ता:

JPEG / JPG फ़ाइलों की quality 25 पर सेट होती है।

PNG फ़ाइलें 100 पर सेट की जाती हैं।

अन्य फ़ाइल प्रकार अपरिवर्तित रहते हैं, हालांकि compression method हमेशा LZW पर सेट होती है।

GIF अनुकूलन

चूंकि GIF कई छवियों और लेयर्स से मिलकर बन सकते हैं, इसलिए फ़ाइल आकार कम करने के लिए संभावित अनुकूलन किए जा सकते हैं।

यदि किसी छवि की अलग-अलग लेयर्स के आकार अलग-अलग हैं, तो फ़ाइल आकार कम करने के लिए Image Magick द्वारा Optimization किया जाता है।

अन्यथा GIF को Coalesced किया जाता है, जो आकार कम करने के लिए अनुक्रम में छवियों की समानताओं को मर्ज करता है।

इस चरण पर पारदर्शिता भी अनुकूलित की जाती है, जिसमें पूरे अनुक्रम में डुप्लिकेट पिक्सेल डेटा को पारदर्शिता से प्रतिस्थापित किया जाता है।

Quantize

इसके बाद सभी छवियों को Quantized किया जाएगा, जिससे रंगों की संख्या 128 तक सीमित हो जाएगी; यदि यह पहले से इससे कम है, तो मान नहीं बदलेगा।

डाउनस्केलिंग

यदि लक्ष्य अभी तक प्राप्त नहीं हुआ है, तो छवि का आकार तब तक बदला जाएगा जब तक वह प्राप्त न हो जाए। रिज़ॉल्यूशन को लगातार मूल का 95% तक घटाया जाता है, जब तक लक्ष्य प्राप्त न हो जाए या रिज़ॉल्यूशन को और कम करना संभव न हो।

ज्ञात समस्याएँ

प्रोसेसिंग GeoTIFF में पिक्सेल से स्थान-संबंधी डेटा हटा सकती है। इसके अतिरिक्त, सामान्य TIFF में ग्रेस्केल छवियों में रंग उलट सकते हैं।

तृतीय-पक्ष लाइब्रेरीज़

लाइब्रेरी का नामलाइब्रेरी संस्करणप्रकारलाइसेंस प्रकारलाइसेंस URLप्रोजेक्ट URLस्रोत Url
System.CommandLine2.0.0-beta4.22272.1लाइब्रेरीMITलिंकलिंकलिंक
System.CommandLine.Hosting0.4.0-alpha.22272.1लाइब्रेरीMITलिंकलिंकलिंक
Magick.NET-Q8-AnyCPU13.10.0लाइब्रेरीApache-2.0लिंकलिंकलिंक

Glasswall का Image Resizer टूल "Magick.NET-Q8-AnyCPU" NuGet package का उपयोग करता है, जो ImageMagick के लिए एक dotnet wrapper है।

ImageMagick स्वयं एक निःशुल्क open source टूल है, जिसका उपयोग डिजिटल इमेजों को एडिट और मैनिपुलेट करने के लिए किया जाता है।