تصاویر
جالنو کلاس packages\base\Image را برای مدیریت تصاویر در اختیار توسعه دهندگان قرار داده است. برخی از متدهای این کلاس بصورت abstract یا مجرد ایجاد شدهاند و بنابراین برنامه نویس قادر به فراخوانی آنها بصورت مستقیم از این کلاس نمیباشد. در حال حاضر کلاس packages\base\Image\GD از کلاس Image مشتق شده است.
در فرمورک برای فرمتهای تصویر JPEG، GIF، PNG، WEBP بصورت مجزا کلاس ایجاد شده است و تمامی کلاس ها که در ادامه بیان میشود از کلاس GD ارث بری میکنند.
| کلاس | فرمت تصویر |
|---|---|
packages\base\Image\GIF | GIF |
packages\base\Image\JPEG | JPEG |
packages\base\Image\PNG | PNG |
packages\base\Image\WEBP | WEBP |
ایجاد شئ
یک شئ از کلاس Image میتواند برای ایجاد تصویر جدید و یا تغی یرات تصویر موجود مورد استفاده قرار گیرد که برای هر یک از موارد مقدار دهی آرگومان های متد سازنده متفاوت میباشد.
ایجاد تصویر جدید
زمانی که قصد ایجاد تصویر جدید را دارید، شئ از کلاس فرمتی که برای تصویر در نظر دارید ایجاد میکنید. متد سازنده سه آرگومان ورودی میگیرد. آرگومان اول عرض تصویر،آرگومان دوم ارتفاع و آگومان سوم رنگ زمینه تصویر میباشد که آرگومان سوم باید از جنس کلاس Color باشد. ابعاد تصویر برحسب px میباشند.
برنامه نویسان باید توجه داشته باشند تصویر ایجاد شده تا زمانی که متد saveToFile() فراخوانی نشود ذخیره نشده (فایلی برای آن ایجاد نشده) است و فقط در دسترس برنامه نویس میباشد.
در مثال های زیر تصویری با عرض 200px و ارتفاع 150px و رنگ زمینه مشکی در فرمت مشخص شده ایجاد میشود.
use packages\base\Image;
// ایجاد تصویر با فرمت JPEG
$image = new Image\JPEG(200, 150, Image\Color::fromRGB(0, 0, 0));
// ایجاد تصویر با فرمت PNG
$image = new Image\PNG(200, 150, Image\Color::fromRGB(0, 0, 0));
// ایجاد تصویر با فرمت GIF
$image = new Image\GIF(200, 150, Image\Color::fromRGB(0, 0, 0));
// ایجاد تصویر با فرمت WEBP
$image = new Image\WEBP(200, 150, Image\Color::fromRGB(0, 0, 0));