كيفية استخدام الوحدة المدمجة Imagick في ServBay
كأداة تطوير ويب قوية متكاملة، يأتي ServBay مع وحدة Imagick، وعملية تفعيلها بسيطة جداً. Imagick هو امتداد PHP يستخدم لإنشاء وتعديل الصور، استناداً إلى مكتبة ImageMagick. مع ServBay، يمكن للمطورين تفعيل وحدة Imagick بسهولة لاستخدام Imagick في معالجة الصور في تطبيقات PHP.
مقدمة لوحدة Imagick
Imagick هو امتداد PHP قوي يوفر إمكانيات معالجة الصور الغنية. يدعم تنسيقات الصور المختلفة ويمكنه تنفيذ عمليات معقدة على الصور مثل تغيير الحجم والتدوير والاقتصاص وإضافة التأثيرات والمزيد.
الميزات الرئيسية
- دعم متعدد التنسيقات: يدعم Imagick تنسيقات الصور المختلفة، بما في ذلك لكن ليس محدوداً بـ JPEG، PNG، GIF، TIFF، وأكثر.
- معالجة صور قوية: يقدم Imagick ميزات معالجة صور غنية مثل تغيير الحجم والتدوير والاقتصاص وإضافة العلامات المائية وتطبيق الفلاتر والمزيد.
- أداء عالي: بفضل استخدام مكتبة ImageMagick، يقدم Imagick أداءً فعالاً في معالجة الصور، مناسب للتعامل مع مجموعات كبيرة من الصور.
- سهولة الاستخدام: يقدم Imagick واجهة برمجة كائنية، مما يسمح للمطورين بأداء عمليات معالجة الصور بسهولة في كود PHP.
نسخة وحدة Imagick المدمجة في ServBay
يدعم ServBay إصدارات PHP متعددة ويأتي مثبتاً مسبقاً مع وحدة Imagick المناسبة مفعلّة افتراضياً لكل إصدار. النسخة الحالية المضمنة لوحدة Imagick هي 3.7.0، وقد تختلف عبر إصدارات PHP المختلفة، لذا يرجى الرجوع إلى النسخة المستخدمة فعلياً.
كيفية تفعيل وحدة Imagick
بشكل افتراضي، يتم تفعيل وحدة Imagick، ولا تحتاج إلى أي تكوين إضافي.
استخدام Imagick في كود PHP
بمجرد تفعيل وحدة Imagick، يمكنك استخدام Imagick لمعالجة الصور في كود PHP. إليك مثال بسيط:
مثال كود
<?php
/* قراءة الصورة */
$im = new Imagick("test.png");
/* تصغير حجم الصورة */
$im->thumbnailImage(200, null);
/* إنشاء حد للصورة */
$im->borderImage(new ImagickPixel("white"), 5, 5);
/* استنساخ الصورة وقلبها */
$reflection = $im->clone();
$reflection->flipImage();
/* إنشاء تدرج. سيتم تراكبه على الانعكاس */
$gradient = new Imagick();
/* يحتاج التدرج إلى أن يكون كبيراً بما يكفي للصورة والحدود */
$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black");
/* مركبة التدرج على الانعكاس */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);
/* إضافة بعض الشفافية. يتطلب ImageMagick 6.2.9 أو أحدث */
// $reflection->setImageOpacity( 0.3 );
/* إنشاء قماش فارغ */
$canvas = new Imagick();
/* يجب أن يكون القماش كبيراً بما يكفي لحمل الصورتين */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");
/* مركبة الصورة الأصلية والانعكاس على القماش */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);
/* إخراج الصورة */
header("Content-Type: image/png");
echo $canvas;
?>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
الخاتمة
يقدم ServBay طريقة سهلة لإدارة وتفعيل وحدة Imagick. مع تكوين بسيط وعمليات إعادة تشغيل، يمكن للمطورين تفعيل وحدة Imagick بسرعة في إصدارات PHP المختلفة، وبالتالي استخدام Imagick في معالجة الصور في تطبيقات PHP. الدعم متعدد التنسيقات، قدرات معالجة الصور القوية، والأداء العالي لوحدة Imagick يجعلها حلاً لا غنى عنه لمعالجة الصور في تطوير الويب الحديث. من خلال ServBay وImagick، يمكن للمطورين بناء تطبيقات ويب غنية بالميزات وسريعة الاستجابة.