پیش فروش آموزش توسعه uncox Notify با Framework اختصاصی ( با کاتلین برای اندروید ) اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
ریسایز تصاویر با تابع GD 
kazemian  2 ماه پیش  2 ماه پیش
0 0

سلام دوستان
من برای ریسایز کردن خودکار عکس ها از تابعی که استاد آموزشش رو دادن استفاده کردم فک کنم تابع گرافیکی GD اسمش بود
مشکلی که باهاش دارم اینه که عکسایی که توی سرورم هستند رو درست ریسایز نمی کنه ، فقط یه تصویر مشکی رنگ میسازه ، اگه همون عکس رو پسوندشو عوض کنم و از png به jpg تغییر بدم به خوبی کار میکنه
البته تصاویر png رو تست کردم بعضی ها رو به خوبی ریسایز می کنه
به نظرتون مشکل از کجا میتونه باشه ؟

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
NAVID FALLAH  2 ماه پیش
+1 0

سلام
منم این مشکل رو داشتم که البته با کمک یکی از دوستان در تلگرام حلش شد

این فانکشن زیر رو از رو اموزش های استاد ساختم که البته مشکل داش (سیاه کردن عکس هاس ترانسپرنت ) و همین طور که گفتم با کمک یکی از دوستان و استک اورفلو درستش کردم میتونید از این فانکشن برا خودتون استفاده کنید

 
function resizeImage($sourcePath, $newWidth, $newHeight, $pathImage = null) {

$ext = getImageType($sourcePath);

if ($ext == 'jpg' || $ext == 'jpeg') {
$format = 'jpg';
} else {
$format = 'png';
}

if ($format == 'png') {
$sourceImage = imagecreatefrompng($sourcePath);
}
if ($format == 'jpg') {
$sourceImage = imagecreatefromjpeg($sourcePath);
}

list($srcWidth, $srcHeight) = getimagesize($sourcePath);

$ratio = getImageRatio($sourcePath);

if ($newHeight == 0) {
$newHeight = $newWidth * $ratio;
}
if ($newWidth == 0) {
$newWidth = $newHeight / $ratio;
}

$destinatioImage = imagecreatetruecolor($newWidth, $newHeight);

//تنظیم کردن یک رنگ برای عکس
$background = imagecolorallocatealpha($destinatioImage, 255, 255, 255, 127);
//تعریف یک رنگ به صورت شفاف بر روی عکس
imagecolortransparent($destinatioImage, $background);
// حالت ترکیب برای یک تصویر را تنظیم کنید
imagealphablending($destinatioImage, false);
//نگه داره اطلاعات الفا در هنگام ذخیره
imagesavealpha($destinatioImage, true);

imagecopyresampled($destinatioImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight);

if ($pathImage == null) {
header('Content-Type: image/png');
if ($format == 'png') {
imagepng($destinatioImage);
}
if ($format == 'jpg') {
imagejpeg($destinatioImage);
}
} else {
if ($format == 'png') {
imagepng($destinatioImage, $pathImage);
}
if ($format == 'jpg') {
imagejpeg($destinatioImage, $pathImage);
}
}

return;

}
0 0
ممنونم از اینکه جوابم رو دادین.ببخشید متد getImageType چیه ؟ (2 ماه پیش)
0 0
سلام ببخشید دو تا متد رو یادم رفته بودم برات بزارم ** function getImageRatio($sourcePath){ list($width, $height) = getimagesize($sourcePath); $imageRation = $height / $width; return $imageRation; } function getImageType($sourcePath) { list($width, $height, $type) = getimagesize($sourcePath); $parts = explode("/", image_type_to_mime_type($type)); $ext = $parts[count($parts) - 1]; return $ext; } ** (2 ماه پیش)
پاسخ به سوال 
NAVID FALLAH  2 ماه پیش
0 0

 function getImageRatio($sourcePath){
  list($width, $height) = getimagesize($sourcePath);
  $imageRation = $height / $width;
  return $imageRation;
}

function getImageType($sourcePath) {
  list($width, $height, $type) = getimagesize($sourcePath);
  $parts = explode("/", image_type_to_mime_type($type));
  $ext = $parts[count($parts) - 1];
  return $ext;
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .