تخطى إلى المحتوى
العودة إلى المدونة
استكشاف الأخطاء وإصلاحها
26 فبراير 2026
GuruPDF Team
دقيقة للقراءة 15

لماذا تفشل عملية Image Conversion على جهاز الكمبيوتر لديك (وكيف تصلح كل خطأ)

هل لا تفتح ملفات HEIC؟ هل تظهر رسالة ImageMagick "no decode delegate"؟ هل يتعطل Python Pillow عند التعامل مع RGBA؟ يغطي هذا الدليل أكثر أخطاء تحويل الصور شيوعًا على Windows وmacOS وLinux — مع رموز أخطاء حقيقية، وتفسيرات واضحة، وأسهل طريقة لإصلاحها.

يبدو أن تحويل الصور بين الصيغ يجب أن يكون بسيطًا — فقط غيّر الامتداد، صحيح؟ في الواقع، يواجه آلاف المستخدمين يوميًا أخطاء غامضة، ومخرجات تالفة، وتعطّل البرامج عند محاولة تحويل الصور على أجهزتهم المحلية. وفي المقابل، تتعامل الأدوات عبر الإنترنت مثل GuruPDF مع التحويلات نفسها بسلاسة تامة خلال ثوانٍ.

تتعمّق هذه المقالة في أكثر أخطاء تحويل الصور شيوعًا التي يواجهها الناس على Windows وmacOS وLinux، وتشرح لماذا تحدث، وتوضح لك كيف تتجنبها تمامًا.

أكثر صيغ الصور شيوعًا (ولماذا لا تتوافق دائمًا بسلاسة)

قبل أن ننتقل إلى الأخطاء، دعنا نفهم الصيغ التي تسبب أكبر قدر من المتاعب:

Format Full Name Compression Transparency Typical Use
JPG/JPEG Joint Photographic Experts Group ضياعي لا الصور، صور الويب
PNG Portable Network Graphics غير ضياعي نعم لقطات الشاشة، الشعارات، الرسومات
WebP Web Picture كلاهما نعم تحسين الويب الحديث
HEIC/HEIF High Efficiency Image Container ضياعي/غير ضياعي نعم صور iPhone/iPad (iOS 11+)
AVIF AV1 Image File Format ضياعي/غير ضياعي نعم صيغة ويب من الجيل التالي
SVG Scalable Vector Graphics N/A (vector) نعم الأيقونات، الرسوم التوضيحية، الشعارات
TIFF Tagged Image File Format غير ضياعي نعم الطباعة، المسح الضوئي، الأرشفة
BMP Bitmap بلا لا صيغة Windows قديمة
GIF Graphics Interchange Format غير ضياعي 1-bit الرسوم المتحركة، الرسومات البسيطة
EPS Encapsulated PostScript N/A (vector) لا تصميم الطباعة، الرسومات الاحترافية
DJVU DjVu ضياعي لا المستندات الممسوحة ضوئيًا، الكتب

المشكلة؟ أن معظم أنظمة التشغيل والأدوات المضمنة لا تدعم إلا عددًا محدودًا من هذه الصيغ بشكل أصلي. ومن هنا تبدأ الأخطاء.

الخطأ رقم 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 (صيغة صور iPhone الافتراضية منذ iOS 11) أو AVIF. تحتاج إلى تثبيت "HEIF Image Extensions" (بسعر $0.99) و"AV1 Video Extensions" من Microsoft Store. أما دعم WebP فلم يُضف إلا في Windows 10 الإصدار 1809 وما بعده.

محاولة الإصلاح محليًا: تثبيت حزم codecs، أو استخدام عارضات طرف ثالث، أو تجربة أدوات سطر الأوامر مثل ImageMagick:

bash
magick convert input.heic output.jpg

لكن ImageMagick يتطلب تثبيت delegates إضافية (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 بنقرة واحدة — بدون codecs، وبدون تثبيتات، وبدون أخطاء.

الخطأ رقم 2: "No Decode Delegate" — نقص codecs في 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 من أشهر أدوات الصور عبر سطر الأوامر، لكنه لا يتضمن مفككات ترميز (decoders) لكل صيغة افتراضيًا. كل صيغة تتطلب مكتبة "delegate":

  • WebP يتطلب libwebp
  • HEIC يتطلب libheif + libde265
  • AVIF يتطلب libavif + dav1d
  • SVG يتطلب librsvg أو Inkscape
  • EPS يتطلب Ghostscript (gs)
  • DJVU يتطلب djvulibre

تثبيت هذه الأشياء على Windows مؤلم خصوصًا — إذ تحتاج إلى تنزيل DLLs مُجمّعة مسبقًا، ووضعها في المجلد الصحيح، وتأمل أن تتطابق الإصدارات.

على macOS:

bash
brew install imagemagick --with-librsvg --with-libheif --with-webp

وغالبًا ما يفشل مع:

Error: invalid option: --with-librsvg

لأن Homebrew غيّر بنية الـ formula وتمت إزالة هذه الخيارات.

على Linux (Ubuntu/Debian):

bash
sudo apt install imagemagick libheif-dev libwebp-dev

قد يفشل أيضًا لأن ImageMagick في النظام جرى تجميعه بدون delegate. ستحتاج إلى التجميع من المصدر:

bash
./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 0x50
Corrupt JPEG data: premature end of data segment
libpng error: Not a PNG file
IHDR: CRC error

لماذا يحدث: قام شخص ما بإعادة تسمية ملف PNG إلى .jpg (أو بالعكس). امتداد الملف لا يطابق المحتوى الثنائي الحقيقي. البايتات 0x89 0x50 هي رقم سحري (magic number) لـ PNG (أول بايتات كل ملف PNG هي 89 50 4E 47). بينما تبدأ ملفات JPEG بـ FF D8 FF.

يحدث هذا بشكل مفاجئ أكثر مما تتوقع عندما:

  • تنزيل الصور من الويب (أحيانًا تضبط الخوادم ترويسات Content-Type بشكل خاطئ)
  • إعادة تسمية الملفات على دفعات دون تحويلها فعليًا
  • قيام برامج البريد أو تطبيقات المراسلة بتغيير الامتدادات بصمت

كيفية تحديد الصيغة الحقيقية:

bash
file mysterious-image.jpg
# Output: mysterious-image.jpg: PNG image data, 1920 x 1080, 8-bit/color RGBA

على Windows (PowerShell):

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)

رسائل خطأ شائعة:

python
PIL.UnidentifiedImageError: cannot identify image file 'photo.heic'
python
OSError: cannot write mode RGBA as JPEG
python
OSError: cannot write mode P as JPEG
python
PIL.Image.DecompressionBombError: Image size (178956970 pixels) exceeds limit of 89478485 pixels

لماذا يحدث: مكتبة Pillow في Python هي الخيار الأشهر لتحويل الصور برمجيًا، لكنها تملك قيودًا مهمة:

  1. لا دعم لـ HEIC بدون pillow-heif (تثبيت منفصل يتطلب مكتبات النظام)
  2. التحويل من RGBA إلى JPEG يفشل لأن JPEG لا يدعم الشفافية — يجب التحويل إلى RGB أولًا
  3. وضع اللوحة (P) إلى JPEG يتطلب التحويل إلى RGB
  4. الصور الكبيرة تُفعّل حماية decompression bomb (ميزة أمنية)

كود التفاف نموذجي يواجه الناس صعوبة معه:

python
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 الأقدم (قبل Ventura) لا تدعم WebP أو AVIF بشكل أصلي. وحتى على الإصدارات الأحدث، قد يفشل التحويل بين بعض تركيبات الصيغ بصمت أو ينتج مخرجات تالفة.

أخطاء شائعة لأمر macOS sips:

bash
sips -s format jpeg input.webp --out output.jpg
# Error: Unable to render input.webp as JPEG
# Error 4: no such operation
bash
sips -s format png input.svg --out output.png
# Error: Unable to render SVG

أداة sips (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 argument
Avi/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 هو بالأساس أداة فيديو، ورغم أنه يمكنه التعامل مع تحويلات الصور، إلا أنه يتطلب دعم codecs محددًا مُضمّنًا عند التجميع. كثير من إصدارات FFmpeg المثبتة على النظام تفتقر إلى دعم HEIC/AVIF/WebP.

الخطأ رقم 7: أخطاء المعالجة الدفعية في GIMP

رسائل خطأ في Script-Fu console:

Error: ( : 1) eval: unbound variable: file-webp-save
batch 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 إلى إضافات (plugins) للصيغ الأحدث. قد لا تكون إضافة 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 profile
color profile 'sRGB IEC61966-2.1' is not compatible with 'CMYK'
libpng warning: iCCP: known incorrect sRGB profile
JCS_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 space
Traceback: MemoryError
Fatal error: Allowed memory size of 134217728 bytes exhausted
convert: cache resources exhausted `input.tiff' @ error/cache.c/OpenPixelCache/3945.
convert: width or height exceeds limit `input.tiff' @ error/cache.c/OpenPixelCache/3912.

لماذا يحدث: قد يكون ملف TIFF بحجم 100 MB عند 300 DPI بأبعاد 8000×6000 بكسل. وعند فك ضغطه في الذاكرة يصبح:

  • 8000 × 6000 × 4 بايت (RGBA) = 192 MB من RAM لصورة واحدة
  • المعالجة (تغيير الحجم، تحويل الصيغة) تتطلب 2-3× هذا المقدار
  • تحويل 10 صور من هذا النوع دفعة واحدة قد يستهلك 4-6 GB من RAM

معظم تطبيقات سطح المكتب والسكريبتات لا تعالج الصور بطريقة streaming — بل تحمل الصورة كاملة في الذاكرة دفعة واحدة.

حدود policy الافتراضية في 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 إلى Raster — كوابيس "Text Rendering"

مشكلات شائعة:

Pango-WARNING **: failed to choose a font, expect ugly output
rsvg-convert: error: Error reading SVG: "Unexpected end of XML input"
cairo-WARNING: cairo_surface_destroy: Cannot modify an already-finished surface

لماذا يحدث: غالبًا ما تشير ملفات SVG إلى خطوط غير مثبتة على نظامك. عند التحويل إلى PNG أو JPG، يستبدل محرّك العرض الخط بخط افتراضي، ما يغير شكل النص بالكامل. كما أن التدرجات، والفلاتر، والصور المضمنة داخل SVG تضيف نقاط فشل محتملة إضافية.

مثال على مشكلة الخطوط:

يستخدم SVG الخاص بك font-family: "Helvetica Neue"، لكن خادم Linux لديك لا يحتوي إلا على Liberation Sans. تبدو النتيجة خاطئة بشكل طفيف — تباعد مختلف بين الحروف، وأوزان مختلفة، ونص غير محاذٍ.

لماذا يعمل التحويل عبر الإنترنت ببساطة (عندما تفشل الأدوات المحلية)

بعد استعراض كل تلك الأخطاء، قد تتساءل: لماذا تتعامل الأدوات عبر الإنترنت مع هذه التحويلات بهذه السلاسة؟

1. بيئة مُهيأة مسبقًا: تعمل أدوات مثل GuruPDF على خوادم تحتوي على كل codec ومكتبة وdelegate مثبتة ومضبوطة بشكل صحيح. لا libheif مفقودة، ولا سياسة ImageMagick خاطئة، ولا Ghostscript غير موجود.

2. اكتشاف تلقائي للصيغة: يحدد الخادم صيغة الملف الفعلية من ترويسة المحتوى الثنائي (magic bytes)، وليس من امتداد الملف. PNG متنكر بامتداد .jpg؟ لا مشكلة.

3. إدارة ألوان صحيحة: تتعامل الأدوات على الخادم مع ملفات ICC وتحويلات فضاءات الألوان بشكل صحيح، ما يحافظ على المظهر البصري لصورك.

4. إدارة الذاكرة: تمتلك الخوادم السحابية موارد كافية وتعالج الصور بكفاءة، ما يمكّنها من التعامل مع ملفات TIFF الكبيرة وعمليات المسح عالية الدقة دون نفاد الذاكرة.

5. تحديث دائم: يُضاف دعم الصيغ الجديدة مثل AVIF وHEIC على جهة الخادم. لا تحتاج إلى تحديث أي شيء على جهازك.

6. بدون متاعب التثبيت: لا بيئات Python، ولا Homebrew، ولا جحيم DLL، ولا تعديل policy.xml، ولا تجميع من المصدر.

أدوات تحويل الصور في GuruPDF

يدعم GuruPDF نطاقًا واسعًا من تحويلات صيغ الصور، مجانًا وبالاعتماد على المتصفح:

من الصور واللقطات:

الصيغ المتجهية والمتخصصة:

أدوات التحسين:

الخلاصة: توقّف عن مقاتلة جهازك

إذا سبق أن قضيت 30 دقيقة تحاول تثبيت libheif على Windows، أو تساءلت لماذا يبدو TIFF بنمط CMYK أخضر بعد تحويله إلى JPG، أو ارتبكت بسبب خطأ "no decode delegate" — فأنت لست وحدك. تحويل الصور يجب أن يكون بسيطًا، لكن الأدوات المحلية تجعله معقدًا بلا داعٍ.

في المرة القادمة التي تحتاج فيها إلى تحويل صورة، جرّب رفعها إلى GuruPDF أولًا. فهو يتعامل مع كل الصيغ، ويحافظ على الجودة، ويعمل في أي متصفح وعلى أي جهاز. بلا تثبيتات، بلا رموز أخطاء، بلا إحباط.

وقتك أفضل أن يُصرف على عملك الحقيقي، لا على تتبّع delegates الخاصة بـ ImageMagick.