آموزش تغییر اندازه تصویر JPEG در PHP

آموزش تغییر اندازه تصویر JPEG در PHP – با استفاده از کتابخانه های پردازش تصویر PHP امکان ویرایش تصاویر از جمله تغییر سایز ( اندازه تصاویر ) وجود دارد در این آموزش میخواهیم اندازه عکسی را کاهش دهیم که باعث کاهش حجم فایل می شود .
یکی از خوبی های تصویر با اندازه کاهش یافته باعث صرفه جویی در منابع سخت افزاری سرور است و پهنای باند کمتری اشغال می شود .
استفاده از PHP برای تغییر اندازه تصویر در سرور
از این پس ما با استفاده از PHP برای کاهش ابعاد تصویر و ارائه آن اقدام خواهیم کرد تا اندازه کوچکتر برای کلاینت ارسال شود و نه تصویر اصلی. برای دستیابی به این هدف ما با استفاده از تابع imagecopyresampled در PHP اقدام خواهیم کرد .
تابع imagecopyresampled برای کپی و تغییر اندازه یک تصویر یا بخشی از تصویر است .
Syntax:
bool imagecopyresampled( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h )
پارامترها:
- تصویری جدیدی که می خواهیم ذخیره کنیم
- تصویر اصلی
- موقعیت x تصویر جدید
- موقعیت y تصویر جدید
- موقعیت x تصویر اصلی
- موقعیت y تصویر اصلی
- طول اندازه تصویر جدید
- ارتفاع اندازه تصویر جدید
- طول اندازه تصویر اصلی
- ارتفاع اندازه تصویر اصلی
این مثال از تابع imagecopyresampled برای تغییر اندازه تصویر استفاده می کند.
<?php
// The file concerned
$filename = 'original.jpg';
// Maximum width and height
$width = 100;
$height = 100;
// File type
header('Content-Type: image/jpg');
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Resampling the image
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0,
$width, $height, $width_orig, $height_orig);
// Display of output image
imagejpeg($image_p, null, 100);
?>
خروجی:
- تصویر اصلی:

- تصویر کوچک شده :

تغییر اندازه تصویر JPEG در PHP
لیست نظرات
سلام خوب بود ولی کد ذخیره کردن همون عکس کوچیک شده رو هم میذاشتید. این الان تو همون صفحه عکس نمایش میده و اگر بخوایم ذخیره کنیم php ذخیره میشه اگر همونجا آپلود میشد کنار خود فایل بهتر بود. مرسی
درود کافیه که کد زیر رو اضافه کنید :
file_put_contents("myfile.jpg" , $image_p);