it-swarm.asia

تغيير حجم الصور إلى الحجم الفعلي المستخدم في المحرر؟

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

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

بالطبع ، ينبغي أيضًا معالجة جميع المشاركات الحالية مرة واحدة. <img> tags قد يكون هناك فقط width ، height ، أو لا شيء منها: يجب تنظيفها جميعًا ، بحيث يكون لها جميعها width ، height وصورة بهذا الحجم.

20
Jan Fabry

أنا خلقت اثنين من المكونات التي يجب أن تحل معا احتياجاتي. إنها حاليًا في مرحلة ألفا مبكرة ، وجميع التعليقات مرحب بها.

المكوّن الإضافي الأساسي هو Resizer عند الطلب . تراقب هذه الإضافات طلبات الملفات غير الموجودة في عمليات الرفع dir ، وتقوم بإنشاء صور بالحجم المطلوب إذا لزم الأمر. على سبيل المثال ، ستقوم image-200x100.jpg بإنشاء image.jpg وإعادتها ، ولكن سيتم تغيير حجمها إلى 200 × 100 بكسل. يتم حفظ الصورة بهذا الاسم في الدليل ، لذلك تتم معالجة الطلبات الإضافية مباشرة بواسطة الخادم.

المكون الإضافي الثاني ، تغيير حجم علامات img ، يعدل علامات <img> بحيث تتضمن سماتها src بيانات العرض و/أو الارتفاع. هذا يسمح للمكون الإضافي الأول بتقديم الصور الصحيحة. يفعلون معًا ما أريد ، وأحتاج فقط إلى إنشاء وظيفة تشغيل مرة واحدة لتحويل جميع المنشورات الحالية ، ولكن ينبغي أن يكون ذلك سهلاً (لا أريد الارتباط بـ the_content لشيء يجب تشغيله مرة واحدة فقط).

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

11
Jan Fabry

لقد بحثت في دليل البرنامج المساعد عن "resize" أو "crop" (الأخير لـ سؤال آخر ) ، ولاحظت النتائج التي توصلت إليها في جدول بيانات Google العام . بحث المكون الإضافي مربك للغاية في أرقام النتائج (تظهر الصفحة الأخيرة من بحث "resize" "عرض 145-150 من 273 مكونًا إضافيًا") ، لذلك ربما فاتني عدد قليل. ملاحظات ذات صلة: يبدو أن الجميع يعتقدون أن العالم يحتاج إلى مكون إضافي لعرض الشرائح. يبدو أن القليل منهم يدركون أن content_save_pre قد يكون مرشحًا أفضل لإجراء تحليل كثيف من the_content.

لم أختبر أيًا من هذه المكونات الإضافية حتى الآن ، لكن فيما يلي قائمة بالمكونات الإضافية التي يبدو أنها تفعل ما أريد. أضفت رقم الإصدار "متوافق حتى" بين قوسين.

  • ChoiceCuts Image Juggler ، مع وظائف معالجة الصور المتعددة التي يمكن الوصول إليها عبر API (3.0.1)
  • AutoThumb ، يعيد كتابة عناوين URL إلى معالج يستخدم phpThumb (2.9.2)
  • Image Symlinks ، عبر رمز قصير [img] خاص (2.9.2)
  • com_resize ، يعيد كتابة عناوين URL إلى معالج يستخدم phpThumb ، وكذلك الصور الخارجية (2.6)
  • ImageScaler ، يخلق أحجام جديدة إذا لزم الأمر ويغير عناوين المواقع في الصور (2.3)
  • ImageScaler Modded ، a تم تعديله قليلاً إصدار ImageScaler (2.3.1)

الأفكار الشخصية: الأربعة الأولى تعيد كتابة عنوان URL إلى صفحة ديناميكية (شيء مثل /wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50) ، مع أشكال مختلفة من التخزين المؤقت. أفضل صورة حقيقية يتم إنشاؤها حسب الحاجة ، على غرار النهج الذي يتبعه ImageScaler. ومع ذلك ، سأقسم هذا الأمر (وأضمّن اقتراح hakre في التعليقات) وأعد أولاً كتابة جميع عناوين URL من /wp-content/uploads/2010/11/image.jpg إلى /wp-content/uploads/2010/11/image-100x50.jpg ، ثم اترك البرنامج النصي ينشئ الصور المفقودة. الطلب الأول لهذه الصورة ينشئ الصورة ، وجميع الطلبات اللاحقة تستخدم هذه الصورة التي تم إنشاؤها. هذا يسمح لي أيضًا بتقسيم الوظيفة عبر مكونات إضافية. سوف نشر هذا الحل في إجابة منفصلة.

تقصر هذه الإضافات الصور على حجم أقصى معين (كيف يختلف هذا عن تحديد $content_width؟):

  • JP-redesign-images ، يتحقق من كل من الصور ذات الارتباط السريع أو ذات الحجم الكبير (فقط إذا كانت كبيرة جدًا ، وليس إذا تم تغيير حجمها فقط) (3.0.1)
  • Hungred Image Fit ، يتحقق من الصور الكبيرة جدًا (3.0.0)

المكوّن الإضافي التالي مثير للاهتمام لأسباب أخرى:

هذا منشور على Community Wiki ، بحيث يمكن تحديثه إذا وجدت مكونات إضافية جديدة.

4
Jan Fabry

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

0
Raphael

يبدو أن Image Pro plugin الذي تم إصداره مؤخرًا يفعل هذا بالضبط. لم أختبر نفسي حتى الآن ، يبدو العرض التوضيحي مؤثرًا جدًا ، ويلاحظ ضعف توافق المتصفح (Firefox فقط في الوقت الحالي).

0
Rarst

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

0
NetConstructor.com