[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Изменение размеров изображения
Ramzes_Ra
Вот мой скрипт по изменению размера PNG изображения
Проблема в том, что он делает png пустым... то бышь открыть его нельзя, но оно создается.. допускаю, что для работы с png нужно прописать что-то ещё... никак не пойму что.. кто-нибудь знает?
function imageresize($outfile,$infile,$neww,$newh,$quality) {
$im=imagecreatefrompng($infile);
$k1=$neww/imagesx($im);
$k2=$newh/imagesy($im);
$k=$k1>$k2?$k2:$k1;

$w=intval(imagesx($im)*$k);
$h=intval(imagesy($im)*$k);

$im1=imagecreatetruecolor($w,$h);
imagecolortransparent($im1, imagecolorallocatealpha($im1, 0, 0, 0, 127));
imagealphablending($im1, false);
imagesavealpha($im1, true);
imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));

imagepng($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}




Спустя 2 минуты, 59 секунд (8.08.2012 - 23:20) Игорь_Vasinsky написал(а):
совет

Цитата
$w=intval(imagesx($im)*$k);

$w=(int)imagesx($im)*$k;

ибо быстрее.

а по теме - щас сказать нечего,глаза закрываются.

Спустя 11 часов, 58 минут, 42 секунды (9.08.2012 - 11:19) Ramzes_Ra написал(а):
Попробовал переделать, теперь вообще не сохраняет...
вот бредятина то))
function imageresize2($outfile,$infile) {
$output = imagecreatefrompng($infile); //$infile – путь к png
$w_output = 20; //ширина после уменьшения
$h_input = imagesy($output); // y – исходного
$w_input = imagesx($output); // x – исходного
if ($w_input > $w_output){
$rait = $w_input / $w_output;}
$x_output = ceil($w_input / $rait);
$y_output = ceil($h_input / $rait);
$final = imagecreatetruecolor($x_output, $y_output);
imagealphablending($final, false);
imagesavealpha($final, true);
imagecopyresampled($final, $output, 0, 0, 0, 0, $x_output, $y_output, $w_input, $h_input);
imagepng($final, $output);
}

Спустя 44 минуты, 9 секунд (9.08.2012 - 12:03) Ramzes_Ra написал(а):
сделал.. по ходу кроме меня тут никто не умеет работать с картинками happy.gif
надо было добавить imagefill и проработать альфа канал..
тему можно закрывать

Спустя 35 минут, 27 секунд (9.08.2012 - 12:39) Игорь_Vasinsky написал(а):
все ждут твоих действий и ошибок чтобы подправить. такой менталитет у форума.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.