1. محصولات
  2.   تصویر
  3.   PHP
  4.   Intervention Image
 
  

کتابخانه PHP برای دستکاری و پردازش تصویر

کتابخانه PHP منبع باز که به آسانی امکان ایجاد، خواندن، تغییر، تغییر اندازه و برش تصاویر JPEG، PNG، GIF، TIF، BMP، ICO، PSD، WebP را می‌دهد.

Intervention Image یک کتابخانه منبع باز دستکاری و پردازش تصویر PHP است که به توسعه دهندگان نرم افزار این امکان را می دهد تا تصاویر را در داخل برنامه PHP خود ایجاد کنند، تغییر دهند و بنویسند. Intervention Image از لاراول پشتیبانی اختیاری دارد و با ارائه‌دهنده خدمات و نماها برای ادغام آسان ارائه می‌شود. این کتابخانه بسیار پایدار است و به شما کمک می کند تا هر کار را به روشی آسان و با حداقل کد مدیریت کنید.

این کتابخانه از دو کتابخانه رایج پردازش تصویر GD Library و Imagick پشتیبانی کرده است. این برنامه از بسیاری از فرمت های فایل تصویری محبوب مانند JPEG، PNG، GIF، TIF، BMP، ICO، PSD، WebP و بسیاری دیگر پشتیبانی می کند. فرمت های تصویر قابل خواندن به درایور انتخابی (GD یا Imagick) و پیکربندی محلی شما بستگی دارد.

این کتابخانه از چندین ویژگی مهم پردازش تصویر پشتیبانی می‌کند، مانند ایجاد تصاویر از ابتدا، خواندن تصاویر موجود، ویرایش تصاویر موجود، ایجاد ریز عکس‌ها، اعمال افکت‌ها بر روی تصاویر، افزودن واترمارک به تصاویر، قالب‌بندی فایل‌های تصویری بزرگ، تغییر اندازه تصاویر بر اساس مطابق با نیازهای خود، متن و شکل را روی تصاویر بکشید، اطلاعات تصویر را بازیابی کنید و خیلی چیزهای دیگر.

Previous Next

شروع با تصویر مداخله

به PHP 5.4 و بالاتر با افزونه GD2 نیاز دارد. بهترین راه برای نصب Intervention Image به سرعت و به راحتی با Composer است. لطفا از دستور زیر استفاده کنید.

Intervention Image را از طریق Composer نصب کنید

$ php composer.phar require intervention/image 

ایجاد تصاویر جدید از طریق PHP

کتابخانه Intervention Image منبع باز به توسعه‌دهندگان نرم‌افزار این امکان را می‌دهد تا با استفاده از دستورات PHP داخل برنامه‌های خود، یک نمونه تصویر خالی جدید ایجاد کنند. توسعه دهندگان می توانند عرض، ارتفاع دلخواه را ارائه دهند و همچنین می توانند رنگ پس زمینه دلخواه خود را تعریف کنند. اگر رنگ تعریف نشده باشد از پس‌زمینه بوم پیش‌فرض استفاده می‌شود که شفاف است.

ایجاد تصویر جدید و دریافت اندازه فایل از طریق PHP

// create an image
$img = Image::make('public/foo.jpg');
// get file size
$size = $img->filesize();

خواندن تصاویر از طریق PHP API

کتابخانه Free Intervention Image پشتیبانی از خواندن انواع مختلف تصاویر در برنامه جاوا اسکریپت را به راحتی فراهم کرده است. شما باید یک مسیر کامل از تصویر ارائه دهید و بقیه به راحتی توسط کتابخانه انجام می شود. شما همچنین می توانید URL را به تصویر ارائه دهید و به راحتی می تواند آن را برای شما بخواند. همچنین می تواند داده های تصویر باینری، داده های تصویر کدگذاری شده base64 و موارد دیگر را بخواند.

برش تصویر با استفاده از PHP

کتابخانه تصویر مداخله دارای عملکردی برای برش برنامه‌ای تصاویر با استفاده از چند خط کد جاوا اسکریپت است. این کتابخانه به توسعه دهندگان این امکان را می دهد که عرض و ارتفاع قسمت مستطیلی را سفارشی کرده و آن قسمت از تصویر فعلی را با توجه به عرض و ارتفاع ارائه شده برش دهند. در صورت تمایل می‌توانید مختصات x، y را نیز تعریف کنید تا گوشه سمت چپ بالای برش را به یک مکان خاص منتقل کنید.

برش تصویر از طریق PHP

// open file a image resource
$img = Image::make('public/foo.jpg');
// crop image
'$img->crop(100, 100, 25, 25);

استفاده از فیلترهای تصویر

فیلترها دسته‌ای از دستورات هستند که می‌توانند بر ویژگی‌های خاصی تأکید کنند یا ویژگی‌های دیگر را حذف کنند. این گزینه مفیدی را در اختیار شما قرار می دهد تا دستورات تبدیل تصویر را به یک شی اختصاصی گروه بندی کنید و از شی می توان برای اعمال افکت ها بر روی یک تصویر استفاده کرد. شی تعیین می کند که از کدام دستور و به چه ترتیبی استفاده شود. کتابخانه تصویر مداخله همچنین به شما امکان می دهد فیلترهای خود را تعریف کرده و به راحتی آنها را اعمال کنید.

اعمال فیلتر روی تصویر از طریق PHP

 namespace Intervention\Image\Filters;
class DemoFilter implements FilterInterface
{
    const DEFAULT_SIZE = 10;
    private $size;
    // Creates new instance of filter
    public function __construct($size = null)
    {
        $this->size = is_numeric($size) ? intval($size) : self::DEFAULT_SIZE;
    }
    public function applyFilter(\Intervention\Image\Image $image)
    {
        $image->pixelate($this->size);
        $image->greyscale();
        return $image;
    }
}
 فارسی