Я использовал следующую функцию php для создания миниатюр.Проблема создания миниатюры изображения png!
function createThumbs($pathToImages, $pathToThumbs, $thumbWidth)
{
$dir = opendir($pathToImages);
while (false !== ($fname = readdir($dir))) {
$info = pathinfo($pathToImages . $fname);
if (strtolower($info['extension']) == 'jpg' || strtolower($info['extension']) == 'png')
{
// load image and get image size
if(strtolower($info['extension']) == 'jpg')
$img = imagecreatefromjpeg("{$pathToImages}{$fname}");
else
$img = imagecreatefrompng("{$pathToImages}{$fname}");
$width = imagesx($img);
$height = imagesy($img);
// calculate thumbnail size
$new_width = $thumbWidth;
$new_height = floor($height * ($thumbWidth/$width));
// create a new tempopary image
$tmp_img = imagecreatetruecolor($new_width, $new_height);
// copy and resize old image into new image
//imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// save thumbnail into a file
if(strtolower($info['extension']) == 'jpg')
imagejpeg($tmp_img, "{$pathToThumbs}{$fname}");
else
imagepng($tmp_img, "{$pathToThumbs}{$fname}");
}
}
// close the directory
closedir($dir);
}
Правильное эскиз создан для изображения в формате jpg. Но для прозрачного изображения png миниатюра создается с черным фоном. Как сделать функцию работы для png-изображения? Пожалуйста, предложите мне. Заранее спасибо.