Тема: рандомный вывод картинки
Dgon [Off] [#] (23.05.2009 / 12:00) |
$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if ( ($width <= $max_width) && ($height <= $max_height) ) {
$tn_width = $width;
$tn_height = $height;
}
else if (($x_ratio * $height) < $max_height) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}
else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
$width2=$width/2;
$height2=$height-'5';
$d='5';
$raz=$width/8;
// Получаем границы рамки текста
$Bnd=imageTTFBBox($raz,0,"file/CO.TTF","nadno.com");
// Массивы x- и y-координат всех точек
$X2=$Y2=array();
// Заполняем эти массивы на основании $Bn
for($i=0; $i<4; $i++) {
$X2[]=$Bnd[$i*2];
$Y2[]=$Bnd[$i*2+1];
}
$MX=max($X2)-min($X2)+$d*2; // размер по x
$MY=max($Y2)-min($Y2)+$d*2; // размер по y
$x=$d+$Bnd[0]-min($X2)+2;
$y=$d+$Bnd[1]-min($Y2)+2;
$src = ImageCreateFromJpeg($image);
$dst = ImageCreateTrueColor($tn_width,$tn_height);
;
$whit=imagecolorallocate($src, 255, 255, 255);
$whit2=imagecolorallocate($src, 0, 0, 0);
$whit3=imagecolorallocate($src, 127, 127, 127);
if (imageColorAt($src, $x, $height2) > $whit3) $text_color=$whit2;
if (imageColorAt($src, $x, $height2) < $whit3) $text_color=$whit;
imagettftext($src, $raz, 0, $x, $height2, $text_color, 'file/CO.TTF','nadno.com');
ImageCopyResized($dst, $src, 0, 0, 0, 0, $tn_width,$tn_height,$width,$height);
header("Content-type: image/jpeg");
ImageJpeg ($dst, null, 100);
ImageDestroy($src);
ImageDestroy($dst); }
вот простои пример вывода копираита на картинке(jpg) для других расширеннии аналогично