كيف يمكنني تغيير حجم الصورة التي تم تحميلها بالفعل باستخدام Magickwand (PHP) / ImageMagick؟

StackOverflow https://stackoverflow.com/questions/717668

  •  23-08-2019
  •  | 
  •  

سؤال

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

الهدف النهائي هو تغيير حجم الصورة ثم تحميله. لست متأكدا مما إذا كان ذلك ممكنا مع ImageMagick أم لا. لقد حصلت على تغيير حجم الصورة بعد التحميل ولكنها لا توفر الصورة المعلنة، فقط الحجم الأصلي.

هذا هو الرمز الذي أستخدمه حاليا: ($ صورة هي المسار إلى الملف على الخادم الخاص بي)

$resource = NewMagickWand(); 
MagickReadImage($resource,$image); 
MagickSetImageCompressionQuality( $resource, 100);
$resource = MagickTransformImage($resource,'0x0','660x500'); 

سيكون موضع تقدير أي مساهمة،
ليفي

هل كانت مفيدة؟

المحلول

سيرسل الرمز الخاص بك الصورة المعدلة إلى العميل (متصفح الويب)، لكنه لن يحفظه على الخادم (استبدال الصورة الأصلية، على سبيل المثال)

لحفظ الصورة، استخدم:

MagickWriteImage( $resource, 'new_image.jpg' ); 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top