PDA

View Full Version : ایراد در کپی چند عکس در یک عکس



arkia
شنبه 02 دی 1391, 22:09 عصر
سلام به دوستان php کار من تازه وارد دنیای قشنگ شما شدم خداییش عجب چیزیه...
یه تابع نوشتم که نسبت به پارامتر ورودی تو خروجی یک عکس ستاره یا همون Rate برای درجه بندی اجناس یا رای یا هرچیزی خیلی کاربرد داره میسازه سورس کامل و مثالشم گذاشتم. کار میکنه ها اما اون چیزی که میخام نیست مشکل اینه که وقتی عدد ورودی 1 باشه درسته اما اگه بیشتر از یک بشه (تا 10) ستاره هایی که باید خاکستری باشن زرد میشن مثالشو ببینید متوجه میشید چی میگم. عکسش هم میذارم.
منتظر نظراتتون هستم.

siavashsay
یک شنبه 03 دی 1391, 10:47 صبح
دوست عزیز !
شما برای مقادیر بزرگتر از 10 متغیر finalimg رو تعیین نکردی !
از این کد استفاده کنید بعد از قسمت Switch دقیقا بالای اولین header بعد از switch


if($r>10){
$finalimg=cccc($full,$full,$full,$full,$full);
}

MMSHFE
یک شنبه 03 دی 1391, 20:25 عصر
با سلام، کدتون رو با اجازه تون اصلاح کردم.


<?php
$max = 10;

$r = isset($_GET['rate']) ? min($_GET['rate'], $max) : 0;

$empty = ImageCreateFromPNG('star_empty.png');
$half = ImageCreateFromPNG('star_half.png');
$full = ImageCreateFromPNG('star_full.png');

function Merge($images) {
$img = ImageCreateTrueColor(120, 24);
ImageSaveAlpha($img, true);
ImageAlphaBlending($img, false);
ImageCopy($img, $images[0], 0, 0, 0, 0, 24, 24);
ImageCopy($img, $images[1], 24, 0, 0, 0, 24, 24);
ImageCopy($img, $images[2], 48, 0, 0, 0, 24, 24);
ImageCopy($img, $images[3], 72, 0, 0, 0, 24, 24);
ImageCopy($img, $images[4], 96, 0, 0, 0, 24, 24);
return $img;
}

$images = array($empty, $empty, $empty, $empty, $empty);
for($i = 0; $i < ($r / 2); $i++) {
$images[$i] = $full;
}
if($r % 2 != 0) {
$images[$r / 2] = $half;
}
$finalimg = Merge($images);

header('Content-type: image/png');
header('Content-Disposition: inline; filename=rate.png');
ImageSaveAlpha($finalimg, true);
ImageAlphaBlending($finalimg, false);
ImagePNG($finalimg);
ImageDestroy($finalimg);
ImageDestroy($empty);
ImageDestroy($full);
ImageDestroy($half);
?>

97151
یه مشکل کوچک هم توی کانال آلفا داشت که اونم درست کردم. سعی کردم کد تولید تصاویر رو هم بهینه کنم. موفق باشید.

arkia
یک شنبه 03 دی 1391, 21:41 عصر
ممنون . اجازه ما هم دست شماس. کد رو گذاشته بودم که تغییرش بدید دیگه الان شد یه کد درست حسابی. باز هم مرسی.

MMSHFE
یک شنبه 03 دی 1391, 23:01 عصر
اختیار دارین. ورودتون رو به دنیای جادویی PHP تبریک و خوش آمد میگم.