العربية

الصور والصور · محرر الصور والرسم في المتصفح

كيف تتعامل المتصفحات مع اتجاه EXIF عندما تقوم بتحرير صورة الهاتف

· كيف يعمل

تحرير الصور قماش معالجة المتصفح

رسم توضيحي نقطي مجرد لكيفية تعامل المتصفحات مع اتجاه exif عند تحرير صورة هاتف
الرسم التوضيحي المتجه الأصلي ToolAcre

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

الصورة التي تكون في وضع مستقيم على هاتفك وعلى الجانب في كل مكان آخر - العرض الملموس وعلامة الاتجاه ذات القيمة الثمانية EXIF الموجودة خلفها

ابدأ بالأعراض: الصورة التي تظهر بشكل مستقيم في معرض الهاتف يمكن أن تظهر بشكل جانبي في عارض آخر. EXIF الاتجاه هو تعليمات مرفقة بالملف، مع ثماني قيم محتملة تصف التقلبات والدورات الربعية. الأدلة المفيدة هنا أضيق من الوعد العام للمتصفح: يقوم هذا المحرر بتحميل صورة HTML من كائن محدد النطاق URL، ويرسم النتيجة التي تم فك تشفيرها، ولا يحتوي على أي أداة تثبت كيفية تعامل كل متصفح مع كل قيمة اتجاه.

استخدم صورة الهاتف المنسوخة كعينة اختبار. قم بتسجيل أبعاده المعروضة، وقم بإجراء قص صغير، وقم بتصديره، وافتح التنزيل في عارض ثانٍ. يقوم تصدير اللوحة القماشية بإعادة ترميز وحدات البكسل المعروضة من خلال canvas.toBlob كـ PNG، أو JPEG، أو WebP؛ ولا يقوم بنسخ الحاوية المصدر أو يعد بالاحتفاظ بـ EXIF. تخبرك المقارنة بما حدث لهذه البيانات النقطية، وليس بما سيفعله كل ملف.

من الممكن حدوث نتيجة جانبية، لكن هذا المستودع لا يقوم بتحليل قيم الاتجاه الثمانية EXIF

يوجد عدم التطابق لأن الكاميرا يمكنها تسجيل صفوف المستشعر بترتيب مادي مناسب أثناء تخزين تعليمات مضغوطة حول كيفية عرض هذه الصفوف. تعامل مع هذا التفسير كسياق، وليس كادعاء حول هذا التطبيق. لا يقوم المستودع بتحليل قيم الاتجاه الثمانية EXIF، ولا يثبت إصدارات المتصفح التي تطبقها قبل أن تصل الصورة إلى اللوحة القماشية.

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

الأساس المنطقي لتخزين الكاميرا هو خارج دليل المستودع؛ فحص النتيجة الفعلية التي تم فك شفرتها

قد يقوم المتصفح بفك تشفير صورة باستخدام تعليمات الاتجاه المنعكسة بالفعل في وحدات البكسل المعروضة. يمكن لواجهات برمجة التطبيقات الحديثة أن تعرض خيارات فك التشفير، بما في ذلك خيارات createImageBitmap، لكن مسار التعليمات البرمجية هذا لا يستدعي createImageBitmap أو يحدد خيار imageOrientation. فهو ينشئ صورة HTML من كائن URL ويرسم تلك الصورة، بحيث يظل ملف الهاتف الفعلي والمتصفح جزءًا من التجربة.

قم بفحص النتيجة على مرحلتين: أولاً في المحرر، ثم بعد التصدير. لاحظ كلا من اتجاه الصورة الظاهري والعرض والارتفاع المذكور في المستند. إذا كان العرض الأول خاطئًا، فإن ربع دورة يدوية يمكن أن تجعل البيانات النقطية العاملة تبدو صحيحة. إذا كان الرأي الأول صحيحا، فتجنب الادعاء بأن البيانات الوصفية الأصلية كانت مفهومة عالميا؛ يدعم دليل المستودع فقط النتيجة التي تم فك تشفيرها.

يقوم هذا المحرر بتحميل صورة HTML ولا يقوم بتعيين أي خيار واضح لفك تشفير الاتجاه

بمجرد مرور وحدات البكسل عبر اللوحة القماشية وتشفيرها مرة أخرى، لم تعد الحاوية المصدر هي الكائن الذي يتم تسليمه. يقوم المحرر بتركيب وحدات البكسل التي تم فك تشفيرها مع الاقتصاص الخاص بك وأي تعديلات مرئية أخرى، ثم يستدعي canvas.toBlob لإخراج PNG، أو JPEG، أو WebP. لا تعد هذه العملية بالحفاظ على حقول EXIF. على وجه الخصوص، لا يمكن لهذا التنفيذ تحرير علامة الاتجاه أو استعادتها ليتمكن عارض لاحق من تفسيرها.

الوصف الأكثر أمانًا للتنزيل هو الصورة التي تحتوي على وحدات البكسل التي تنتجها جلسة التحرير هذه. أعد فتحه في عارض آخر وتحقق من الاتجاه قبل مشاركته. إذا وافق هذا المشاهد، فقد قمت بالتحقق من تصدير واحد ملموس. لم تقم باعتماد جميع سلوكيات EXIF، ولكنك قمت باستبدال تعليمات بيانات تعريف غامضة بنتيجة نقطية قابلة للاختبار لهذا الملف.

يقوم تصدير اللوحة بإعادة ترميز وحدات البكسل المعروضة ولكنه لا يصادق على حقول البيانات التعريفية المتبقية

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

قم بتصدير المحصول ومقارنته بعرض المحرر في عارض الصور الثاني. يتم إنتاج PNG وJPEG وWebP من اللوحة القماشية، لذا فإن الإخراج عبارة عن صورة مُعاد ترميزها بدلاً من حاوية الهاتف الأصلية. سجل التنسيق والعارض المستخدم إذا كانت النتيجة مهمة من الناحية التشغيلية. يمنحك هذا التدقيق الصغير دليلاً حول هذه الصورة، مع تجنب الوعد غير المدعوم بشأن كل هاتف أو متصفح.

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

هناك حدود واضحة حول هذا التحقيق. لا يوفر المحرر مفتش بيانات التعريف، أو محرر EXIF، أو أداة لاستعادة قيمة الاتجاه الأصلية. ولا يمكن أيضًا أن يجعل العارض الذي يتجاهل بيانات تعريف الاتجاه يتصرف بشكل صحيح. تنتمي هذه المهام إلى برنامج مصمم للحفاظ على حاويات الصور أو إعادة كتابتها، وليس إلى سير عمل قماشي تكون مخرجاته عبارة عن خطوط نقطية مسطحة.

ينطبق نفس الحذر على حقول EXIF الأخرى مثل وقت الالتقاط والموقع وتفاصيل الكاميرا. يتم فك تشفير وحدات البكسل المركبة التي يتم تصديرها من خلال canvas.toBlob ولا تصادق على حقول البيانات التعريفية المتبقية. احتفظ بالنسخة الأصلية إذا كانت هذه الحقول مهمة، واستخدم المحرر لعمل الصورة المرئية، وتحقق من الملف المُصدر قبل معاملته كبديل يحافظ على البيانات الوصفية.

الخلاصة: قم بالتحرير مرة واحدة، في وضع مستقيم في كل مكان - كيف يؤدي التحرير في محرر الصور والرسم في المتصفح إلى إنتاج ملف يعرض نفس الشيء في كل عارض

الفكرة العملية بسيطة ولكنها محدودة عن عمد: قم بتحرير البيانات النقطية المرئية، ثم تحقق من الاتجاه المُصدَّر في عارض آخر. يعد محرر الصور والرسم في المتصفح مفيدًا لفتح صورة هاتف محلية، وتدوير البيانات النقطية بأكملها بخطوات تسعين درجة، واقتصاصها، وإنتاج تنزيل PNG، أو JPEG، أو WebP. لا يبرر المُحمل ومسار التصدير المطالبة بالمعالجة العامة EXIF.

يستغرق الفحص الموثوق أقل من دقيقة. احتفظ بالمصدر، وافتح نسخة، وسجل الاتجاه والأبعاد الأولية، وقم بإجراء تعديل صغير واحد، وقم بالتصدير مرة واحدة، وافحص التنزيل في مكان آخر. إذا كان الملف خاطئًا، فارجع إلى النسخة وقم بتصحيح وحدات البكسل يدويًا؛ لا تفترض أنه يمكن استعادة علامة التوجيه هنا. النتيجة التي تم التحقق منها هي الملف الذي قمت بفتحه وفحصه بالفعل.