प्रतिमा एका फॉरमॅटमधून दुसऱ्या फॉरमॅटमध्ये रूपांतरित करणे सोपे वाटते — फक्त एक्सटेंशन बदला, बरोबर? प्रत्यक्षात, दररोज हजारो वापरकर्ते त्यांच्या स्थानिक मशीनवर प्रतिमा रूपांतरित करण्याचा प्रयत्न करताना गूढ त्रुटी, करप्ट आउटपुट आणि सॉफ्टवेअर क्रॅश यांच्याशी भिडतात. दरम्यान, GuruPDF सारखी ऑनलाइन साधने अगदी त्याच रूपांतरणे सेकंदांत निर्दोषपणे हाताळतात.
हा लेख Windows, macOS आणि Linux वर लोकांना येणाऱ्या सर्वात सामान्य प्रतिमा रूपांतरण त्रुटींमध्ये खोलवर जातो, त्या का होतात ते स्पष्ट करतो, आणि त्या पूर्णपणे कशा टाळायच्या ते दाखवतो.
सर्वात सामान्य प्रतिमा फॉरमॅट (आणि ते नेहमी एकमेकांशी जुळत का नाहीत)
त्रुटींकडे जाण्यापूर्वी, सर्वाधिक त्रास देणाऱ्या फॉरमॅट समजून घेऊ:
| Format | Full Name | Compression | Transparency | Typical Use |
|---|---|---|---|---|
| JPG/JPEG | Joint Photographic Experts Group | Lossy | No | Photos, web images |
| PNG | Portable Network Graphics | Lossless | Yes | Screenshots, logos, graphics |
| WebP | Web Picture | Both | Yes | Modern web optimization |
| HEIC/HEIF | High Efficiency Image Container | Lossy/Lossless | Yes | iPhone/iPad photos (iOS 11+) |
| AVIF | AV1 Image File Format | Lossy/Lossless | Yes | Next-gen web format |
| SVG | Scalable Vector Graphics | N/A (vector) | Yes | Icons, illustrations, logos |
| TIFF | Tagged Image File Format | Lossless | Yes | Print, scanning, archival |
| BMP | Bitmap | None | No | Legacy Windows format |
| GIF | Graphics Interchange Format | Lossless | 1-bit | Animations, simple graphics |
| EPS | Encapsulated PostScript | N/A (vector) | No | Print design, professional graphics |
| DJVU | DjVu | Lossy | No | Scanned documents, books |
समस्या काय? बहुतेक ऑपरेटिंग सिस्टीम आणि अंगभूत साधने यापैकी फक्त काही फॉरमॅट नेटिव्हली सपोर्ट करतात. इथेच त्रुटी सुरू होतात.
त्रुटी #1: "Windows Photo Viewer Can't Open This Picture" (HEIC/AVIF/WebP)
तुम्हाला दिसू शकणारे एरर कोड आणि संदेश:
"Windows Photo Viewer can't open this picture because either Photo Viewer
doesn't support this file format, or you don't have the latest updates.""It looks like we don't support this file format."
— Microsoft Photos app"0xc00d5212: This item was encoded in a format that's not supported."हे का होते: Windows 10/11 HEIC (iOS 11 पासून डीफॉल्ट iPhone फोटो फॉरमॅट) किंवा AVIF नेटिव्हली सपोर्ट करत नाही. तुम्हाला Microsoft Store मधून "HEIF Image Extensions" ($0.99) आणि "AV1 Video Extensions" इंस्टॉल करावे लागतात. WebP सपोर्ट फक्त Windows 10 version 1809 आणि नंतर जोडला गेला.
स्थानिक फिक्सचा प्रयत्न: कोडेक पॅक इंस्टॉल करा, थर्ड-पार्टी व्ह्यूअर वापरा, किंवा ImageMagick सारखी कमांड-लाइन साधने वापरून पहा:
magick convert input.heic output.jpgपण ImageMagick ला अतिरिक्त डेलिगेट (libheif, libde265) इंस्टॉल करावे लागतात, जे अनेकदा यासह अपयशी ठरते:
convert: delegate failed `"dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1911.convert: no decode delegate for this image format `HEIC' @ error/constitute.c/ReadImage/746.सोपा फिक्स: तुमच्या HEIC, AVIF किंवा WebP फाइल्स GuruPDF वर अपलोड करा आणि एका क्लिकमध्ये त्यांना JPG किंवा PNG मध्ये रूपांतरित करा — कोडेक्स नाहीत, इंस्टॉलेशन्स नाहीत, त्रुटी नाहीत.
त्रुटी #2: "No Decode Delegate" — ImageMagick मध्ये कोडेक्स गहाळ
पूर्ण एरर संदेश:
convert: no decode delegate for this image format `WEBP' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `SVG' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `EPS' @ error/constitute.c/ReadImage/746.हे का होते: ImageMagick सर्वात लोकप्रिय कमांड-लाइन प्रतिमा साधनांपैकी एक आहे, पण त्यात प्रत्येक फॉरमॅटसाठी डिकोडर बॉक्सबाहेर समाविष्ट नसतो. प्रत्येक फॉरमॅटला एक "delegate" लायब्ररी लागते:
- WebP ला
libwebpलागते - HEIC ला
libheif+libde265लागते - AVIF ला
libavif+dav1dलागते - SVG ला
librsvgकिंवा Inkscape लागते - EPS ला Ghostscript (
gs) लागते - DJVU ला
djvulibreलागते
Windows वर हे इंस्टॉल करणे विशेषतः वेदनादायक आहे — तुम्हाला प्री-कंपाइल्ड DLLs डाउनलोड करावे लागतात, योग्य डिरेक्टरीत ठेवावे लागतात, आणि व्हर्जन्स जुळतील याची आशा करावी लागते.
macOS वर:
brew install imagemagick --with-librsvg --with-libheif --with-webpअनेकदा यासह अपयशी ठरते:
Error: invalid option: --with-librsvgकारण Homebrew ने आपली फॉर्म्युला रचना बदलली आणि हे ऑप्शन्स काढून टाकले गेले.
Linux (Ubuntu/Debian) वर:
sudo apt install imagemagick libheif-dev libwebp-devतरीही अपयशी ठरू शकते कारण सिस्टीम ImageMagick डेलिगेटशिवाय कंपाइल केलेले असते. तुम्हाला सोर्समधून कंपाइल करावे लागेल:
./configure --with-heic=yes --with-webp=yes
make && sudo make installज्याला 10+ मिनिटे लागू शकतात आणि सिस्टीम पॅकेजेसशी संघर्ष होऊ शकतो.
त्रुटी #3: "Not a JPEG File: Starts With 0x89" — चुकीचे फाइल एक्सटेंशन
एरर संदेश:
Not a JPEG file: starts with 0x89 0x50Corrupt JPEG data: premature end of data segmentlibpng error: Not a PNG fileIHDR: CRC errorहे का होते: कोणीतरी PNG फाइलचे नाव .jpg ठेवले (किंवा उलट). फाइल एक्सटेंशन वास्तविक बायनरी कंटेंटशी जुळत नाही. 0x89 0x50 बाइट्स PNG मॅजिक नंबर आहेत (प्रत्येक PNG फाइलचे पहिले बाइट्स 89 50 4E 47 असतात). JPEG फाइल्स FF D8 FF ने सुरू होतात.
हे आश्चर्यकारकपणे अनेकदा घडते जेव्हा:
- वेबवरून प्रतिमा डाउनलोड करताना (सर्व्हर्स कधीकधी चुकीचे Content-Type हेडर सेट करतात)
- फाइल्स प्रत्यक्षात रूपांतरित न करता बॅच रिनॅम करताना
- ईमेल क्लायंट्स किंवा मेसेजिंग अॅप्स शांतपणे एक्सटेंशन्स बदलतात
खरा फॉरमॅट ओळखण्यासाठी:
file mysterious-image.jpg
# Output: mysterious-image.jpg: PNG image data, 1920 x 1080, 8-bit/color RGBAWindows (PowerShell) वर:
Format-Hex -Path .\image.jpg -Count 4
# If you see 89 50 4E 47, it's actually a PNG
# If you see FF D8 FF, it's a real JPEGऑनलाइन फायदा: GuruPDF एक्सटेंशन काहीही सांगत असले तरी वास्तविक फाइल फॉरमॅट आपोआप ओळखतो आणि तो योग्य रीतीने रूपांतरित करतो.
त्रुटी #4: Python Pillow (PIL) रूपांतरण त्रुटी
सामान्य एरर संदेश:
PIL.UnidentifiedImageError: cannot identify image file 'photo.heic'OSError: cannot write mode RGBA as JPEGOSError: cannot write mode P as JPEGPIL.Image.DecompressionBombError: Image size (178956970 pixels) exceeds limit of 89478485 pixelsहे का होते: Python ची Pillow लायब्ररी प्रोग्रामॅटिक प्रतिमा रूपांतरणासाठी पहिली पसंती आहे, पण तिच्यात महत्त्वपूर्ण मर्यादा आहेत:
- HEIC सपोर्ट नाही
pillow-heifशिवाय (वेगळे इंस्टॉल ज्याला सिस्टीम लायब्ररी लागतात) - RGBA to JPEG अपयशी ठरते कारण JPEG पारदर्शकता सपोर्ट करत नाही — तुम्हाला आधी RGB मध्ये रूपांतरित करावे लागते
- Palette mode (P) to JPEG ला RGB मध्ये रूपांतरण लागते
- मोठ्या प्रतिमा decompression bomb संरक्षण ट्रिगर करतात (एक सुरक्षा वैशिष्ट्य)
लोकांना ज्या बॉयलरप्लेट कोडशी झगडावे लागते तो सामान्य वर्कअराउंड:
from PIL import Image
img = Image.open("photo.png")
# Handle transparency for JPEG output
if img.mode in ('RGBA', 'LA', 'P'):
background = Image.new('RGB', img.size, (255, 255, 255))
if img.mode == 'P':
img = img.convert('RGBA')
background.paste(img, mask=img.split()[-1])
img = background
img.save("photo.jpg", "JPEG", quality=95)एका प्रतिमेचे रूपांतरण करण्यासाठी इतका बॉयलरप्लेट. आणि अतिरिक्त लायब्ररीशिवाय ते अजूनही HEIC, AVIF किंवा WebP हाताळणार नाही.
त्रुटी #5: macOS Preview "Could Not Be Exported" त्रुटी
एरर संदेश:
"The document 'image.webp' could not be exported as 'image.png'.""The file isn't compatible with QuickLook.""The document could not be opened. The file format is not supported."हे का होते: macOS Preview.app चांगली फॉरमॅट श्रेणी सपोर्ट करते, पण जुन्या macOS व्हर्जन्स (pre-Ventura) WebP किंवा AVIF नेटिव्हली सपोर्ट करत नाहीत. नवीन व्हर्जन्सवरही, काही फॉरमॅट कॉम्बिनेशन्समधील रूपांतरण शांतपणे अपयशी ठरते किंवा करप्ट आउटपुट देते.
सामान्य macOS sips कमांड त्रुटी:
sips -s format jpeg input.webp --out output.jpg
# Error: Unable to render input.webp as JPEG
# Error 4: no such operationsips -s format png input.svg --out output.png
# Error: Unable to render SVGsips (Scriptable Image Processing System) टूल macOS मध्ये अंगभूत आहे पण फक्त मर्यादित फॉरमॅट सपोर्ट करते: JPEG, TIFF, PNG, GIF, BMP आणि PICT.
त्रुटी #6: FFmpeg प्रतिमा रूपांतरण अपयश
सामान्य त्रुटी:
[image2 @ 0x...] Could not open file : output.webp
av_interleaved_write_frame(): Invalid argumentAvi/ASF stream 0 is not an image stream. Use -c:v png/mjpeg/... to encode it.[svg @ 0x...] Cannot determine type of input[heic @ 0x...] Unknown decoder 'heic'
Discarding frame which has a bad interlace typeहे का होते: FFmpeg प्रामुख्याने व्हिडिओ टूल आहे, आणि ते प्रतिमा रूपांतरणे हाताळू शकते तरीही, त्याला कंपाइल केलेला विशिष्ट कोडेक सपोर्ट लागतो. FFmpeg च्या अनेक सिस्टीम-इंस्टॉल्ड व्हर्जन्समध्ये HEIC/AVIF/WebP सपोर्ट नसतो.
त्रुटी #7: GIMP बॅच प्रोसेसिंग त्रुटी
Script-Fu कन्सोलमधील एरर संदेश:
Error: ( : 1) eval: unbound variable: file-webp-savebatch command experienced an execution error:
Error: Procedure 'file-heif-load' not found(gimp:12345): LibGfig-WARNING **: Bad path: /home/user/.gimp-2.10/gfigहे का होते: GIMP ला नवीन फॉरमॅटसाठी प्लगइन्स लागतात. WebP प्लगइन इंस्टॉल नसेल, HEIF सपोर्टला libheif लागते, आणि AVIF सपोर्टला GIMP 2.10.22+ लागते. Script-Fu किंवा Python-Fu ने बॅच प्रोसेसिंग आणखी एक जटिलतेचा थर जोडते.
त्रुटी #8: "EXIF Data Lost" — रूपांतरणादरम्यान मेटाडेटा नष्ट होणे
ही एरर संदेश नाही — ही शांत डेटा हानी आहे जी अनेक लोकांना खूप उशीरा लक्षात येते.
काय हरवते:
- कॅमेरा सेटिंग्ज (अॅपर्चर, शटर स्पीड, ISO)
- GPS कोऑर्डिनेट्स (फोटो कुठे काढला गेला)
- तारीख आणि वेळ फोटो काढला गेला तेव्हाची
- कॉपीराइट माहिती
- कलर प्रोफाइल (sRGB, Adobe RGB, ProPhoto RGB)
- ओरिएंटेशन (रोटेशन माहिती — बाजूला झुकलेल्या फोटोंकडे नेते)
EXIF सामान्यतः काढून टाकणारी साधने:
- Windows Paint (सर्व काही काढून टाकते)
- अनेक ऑनलाइन कन्व्हर्टर्स ("प्रायव्हसी" कारणांसाठी, तुम्हाला सांगितल्याशिवाय)
- ImageMagick (डीफॉल्टने काढून टाकते जोपर्यंत तुम्ही स्पष्ट नियंत्रणासठी
-stripफ्लॅग वापरत नाही) - Python Pillow (स्पष्ट EXIF हाताळणी लागते
exif=img.info.get('exif', b'')सह)
ओरिएंटेशन समस्या विशेषतः त्रासदायक आहे:
Warning: JPEG file has EXIF orientation tag but image data is not rotated.
Auto-rotating image based on EXIF orientation.काही साधने प्रतिमा फिरवतात पण EXIF टॅग अपडेट करत नाहीत, ज्यामुळे काही व्ह्यूअर्सवर डबल-रोटेशन होते आणि इतरांवर योग्य प्रदर्शन होते.
त्रुटी #9: कलर स्पेस आणि ICC प्रोफाइल समस्या
एरर संदेश:
lcms: not a valid ICC profilecolor profile 'sRGB IEC61966-2.1' is not compatible with 'CMYK'libpng warning: iCCP: known incorrect sRGB profileJCS_CMYK JPEG image passed to JFIF converterहे का होते: व्यावसायिक प्रतिमा अनेकदा CMYK कलर स्पेस (प्रिंटसाठी) किंवा वाइड-गॅमट प्रोफाइल्स (Adobe RGB, ProPhoto RGB) वापरतात. योग्य कलर मॅनेजमेंटशिवाय यांचे वेब फॉरमॅटमध्ये (जे sRGB वापरतात) रूपांतरण फिकट किंवा अतिसंतृप्त रंग देते.
तुम्हाला काय दिसते: तुमच्या स्क्रीनवर परिपूर्ण दिसणारी प्रतिमा रूपांतरणानंतर निऑन-ग्रीन किंवा चिखलासारखी तपकीर होते. किंवा व्यावसायिक फोटोचे तेजस्वी रंग पूर्णपणे हरवतात.
तांत्रिक कारण: CMYK मध्ये 4 कलर चॅनेल्स आहेत (Cyan, Magenta, Yellow, Key/Black) तर RGB मध्ये 3 आहेत (Red, Green, Blue). नाइव्ह रूपांतरण योग्य कलर ट्रान्सफॉर्म लागू करत नाही, परिणामी पूर्णपणे चुकीचे रंग येतात.
त्रुटी #10: "File Too Large" किंवा "Out of Memory" क्रॅश
एरर संदेश:
java.lang.OutOfMemoryError: Java heap spaceTraceback: MemoryErrorFatal error: Allowed memory size of 134217728 bytes exhaustedconvert: cache resources exhausted `input.tiff' @ error/cache.c/OpenPixelCache/3945.convert: width or height exceeds limit `input.tiff' @ error/cache.c/OpenPixelCache/3912.हे का होते: 300 DPI वर 100 MB TIFF फाइल 8000×6000 पिक्सेल असू शकते. मेमरीमध्ये अनकंप्रेस्ड, ते आहे:
- 8000 × 6000 × 4 bytes (RGBA) = एका प्रतिमेसाठी 192 MB RAM
- प्रोसेसिंग (रिसाइझिंग, फॉरमॅट रूपांतरण) ला त्याच्या 2-3× प्रमाण लागते
- अशा 10 प्रतिमा बॅच रूपांतरित करणे 4-6 GB RAM खाऊ शकते
बहुतेक डेस्कटॉप अॅप्लिकेशन्स आणि स्क्रिप्ट्स प्रतिमा स्ट्रीम-प्रोसेस करत नाहीत — त्या संपूर्ण गोष्ट एकाच वेळी मेमरीत लोड करतात.
ImageMagick च्या डीफॉल्ट पॉलिसी लिमिट्स अनेकदा खूप प्रतिबंधक असतात:
# /etc/ImageMagick-6/policy.xml
<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="disk" value="1GiB"/>
<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>तुम्हाला हे लिमिट वाढवण्यासाठी policy.xml एडिट करावे लागू शकते, पण त्याला अॅडमिन अॅक्सेस आणि XML कॉन्फिगरेशन समजणे लागते.
त्रुटी #11: SVG to Raster रूपांतरण — "Text Rendering" दुःस्वप्ने
सामान्य समस्या:
Pango-WARNING **: failed to choose a font, expect ugly outputrsvg-convert: error: Error reading SVG: "Unexpected end of XML input"cairo-WARNING: cairo_surface_destroy: Cannot modify an already-finished surfaceहे का होते: SVG फाइल्स अनेकदा तुमच्या सिस्टीमवर इंस्टॉल नसलेल्या फॉन्टचा संदर्भ देतात. PNG किंवा JPG मध्ये रूपांतरित करताना, रेंडरिंग इंजिन डीफॉल्ट फॉन्ट बदलून देते, ज्यामुळे मजकूर कसा दिसतो ते पूर्णपणे बदलते. SVGs मधील ग्रेडिएंट्स, फिल्टर्स आणि एम्बेडेड प्रतिमा आणखी संभाव्य अपयश बिंदू जोडतात.
फॉन्ट समस्येचे उदाहरण:
तुमचे SVG font-family: "Helvetica Neue" वापरते, पण तुमच्या Linux सर्व्हरवर फक्त Liberation Sans आहे. आउटपुट सूक्ष्मपणे चुकीचे दिसते — वेगळी अक्षर अंतर, वेगळे वेट्स, चुकीच्या ओळीत मजकूर.
ऑनलाइन रूपांतरण का चालते (जेव्हा स्थानिक साधने चालत नाहीत)
त्या सर्व त्रुटी पाहिल्यानंतर, तुम्हाला आश्चर्य वाटू शकते: ऑनलाइन साधने ही रूपांतरणे इतक्या सहजतेने का हाताळतात?
1. प्री-कॉन्फिगर्ड एन्व्हायर्नमेंट: GuruPDF सारखी ऑनलाइन साधने प्रत्येक कोडेक, लायब्ररी आणि डेलिगेट प्री-इंस्टॉल आणि योग्य रीतीने कॉन्फिगर केलेल्या सर्व्हर्सवर चालतात. गहाळ libheif नाही, चुकीची ImageMagick पॉलिसी नाही, अनुपस्थित Ghostscript नाही.
2. ऑटोमॅटिक फॉरमॅट डिटेक्शन: सर्व्हर फाइल एक्सटेंशनवरून नाही तर बायनरी हेडरवरून (मॅजिक बाइट्स) वास्तविक फाइल फॉरमॅट ओळखतो. .jpg म्हणून लपलेली PNG? काहीही समस्या नाही.
3. योग्य कलर मॅनेजमेंट: सर्व्हर-साइड साधने ICC प्रोफाइल्स आणि कलर स्पेस रूपांतरणे योग्य रीतीने हाताळतात, तुमच्या प्रतिमांचा व्हिज्युअल देखावा जतन करतात.
4. मेमरी मॅनेजमेंट: क्लाउड सर्व्हर्सकडे भरपूर संसाधने असतात आणि प्रतिमा कार्यक्षमतेने प्रोसेस करतात, मोठ्या TIFF फाइल्स आणि उच्च-रिझोल्यूशन स्कॅन्स मेमरी संपल्याशिवाय हाताळतात.
5. नेहमी अप टू डेट: AVIF आणि HEIC सारख्या नवीन फॉरमॅटसाठी सपोर्ट सर्व्हर-साइड जोडला जातो. तुमच्या कॉम्प्युटरवर काहीही अपडेट करण्याची गरज नाही.
6. इंस्टॉलेशन डोकेदुखी नाही: Python एन्व्हायर्नमेंट्स नाहीत, Homebrew नाही, DLL hell नाही, policy.xml एडिटिंग नाही, सोर्समधून कंपाइलिंग नाही.
GuruPDF प्रतिमा रूपांतरण साधने
GuruPDF प्रतिमा फॉरमॅट रूपांतरणांची व्यापक श्रेणी सपोर्ट करते, सर्व विनामूल्य आणि ब्राउझर-आधारित:
फोटो आणि प्रतिमांमधून:
- JPG to PNG, JPG to WebP, JPG to SVG, JPG to PDF, JPG to GIF
- PNG to JPG, PNG to WebP, PNG to SVG, PNG to PDF, PNG to GIF
- HEIC to JPG, HEIC to PNG, HEIC to PDF
- AVIF to JPG, AVIF to PNG, AVIF to PDF
- WebP to JPG, WebP to PNG, WebP to GIF, WebP to PDF
- TIFF to JPG, TIFF to PNG, TIFF to PDF
- BMP to JPG, BMP to PNG, BMP to PDF
- GIF to PNG, GIF to WebP, GIF to PDF
व्हेक्टर आणि विशेष फॉरमॅट:
ऑप्टिमायझेशन साधने:
- Resize Image (कोणताही फॉरमॅट)
- Optimize JPG, Optimize PNG, Optimize GIF
- Grayscale PDF
निष्कर्ष: तुमच्या कॉम्प्युटरशी झगडणे थांबवा
तुम्ही कधी Windows वर libheif इंस्टॉल करण्यासाठी 30 मिनिटे घालवली असतील, किंवा तुमची CMYK TIFF JPG मध्ये रूपांतरित केल्यानंतर हिरवी का दिसते याचा विचार केला असेल, किंवा "no decode delegate" त्रुटीने गोंधळून गेला असाल — तुम्ही एकटे नाही आहात. प्रतिमा रूपांतरण सोपे असायला हवे, पण स्थानिक साधने ते अनावश्यकपणे गुंतागुंतीचे बनवतात.
पुढच्या वेळी तुम्हाला प्रतिमा रूपांतरित करायची असेल, तर ती आधी GuruPDF वर अपलोड करून पहा. ते प्रत्येक फॉरमॅट हाताळते, गुणवत्ता जतन करते, आणि कोणत्याही डिव्हाइसवरील कोणत्याही ब्राउझरमध्ये काम करते. इंस्टॉलेशन्स नाहीत, एरर कोड नाहीत, निराशा नाही.
तुमचा वेळ ImageMagick डेलिगेट्स डीबग करण्याऐवजी तुमच्या खऱ्या कामावर घालवणे चांगले.