konto usunięte

Temat: Problem tłem przy zmniejszaniu obrazków

Witam serdecznie,
mam taki kod:

function createThumbnail($path, $imagename, $rozmiar) { /////// tworzymy miniaturkę
$wynik = explode(".", $imagename);
$type = $wynik[1];

$site_max_thumbnails_size = $rozmiar; // max size
if ($type== "jpg" || $type== "jpeg"){
$img = imagecreatefromjpeg( "{$path}{$imagename}" );
}
if ($type== "png"){
$img = imagecreatefrompng( "{$path}{$imagename}" );
}
if ($type== "gif"){
$img = imagecreatefromgif( "{$path}{$imagename}" );
}
$width = imagesx( $img );
$height = imagesy( $img );

// calculate thumbnail size
if ($height>=$width) {
$smallerSize=$width;
$croppingStartHeight=($height-$smallerSize)/2;
$croppingStartWidth=0;
}
else {
$smallerSize=$height;
$croppingStartHeight=0;
$croppingStartWidth=($width-$smallerSize)/2; }
$croppedImage=imagecreatetruecolor($smallerSize, $smallerSize); // create square image
$resizedImage=imagecreatetruecolor($site_max_thumbnails_size, $site_max_thumbnails_size);
imagecopy($croppedImage, $img, 0, 0, $croppingStartWidth, $croppingStartHeight, $smallerSize, $smallerSize); // build cropped, square image
imagecopyresampled ($resizedImage, $croppedImage, 0, 0, 0, 0, $site_max_thumbnails_size, $site_max_thumbnails_size, $smallerSize, $smallerSize); // copy and resize old image into new image
$pathToThumbs=$path."";
if ($type== "jpg" || $type== "jpeg"){
if (!imagejpeg($resizedImage, "{$pathToThumbs}mini_{$imagename}" )) // save thumbnail into a file
$result='Nie można zapisać miniaturki w folderze docelowym!';
ImageDestroy($croppedImage);
ImageDestroy($resizedImage);
return $result;
}
if ($type== "png"){
if (!imagepng($resizedImage, "{$pathToThumbs}mini_{$imagename}" )) // save thumbnail into a file
$result='Nie można zapisać miniaturki w folderze docelowym!';
ImageDestroy($croppedImage);
ImageDestroy($resizedImage);
return $result;
}
if ($type== "gif"){
if (!imagegif($resizedImage, "{$pathToThumbs}mini_{$imagename}" )) // save thumbnail into a file
$result='Nie można zapisać miniaturki w folderze docelowym!';
ImageDestroy($croppedImage);
ImageDestroy($resizedImage);
return $result;
}
}


przy wgrywaniu i obróbce przeźroczystych PNG mam czarne tło jak pozostawić przeźroczyste po zmniejszeniu?



Z góry dziękuje za pomoc,
Łukasz
Adam Pawliczek

Adam Pawliczek Usability expert, UX
designer,
Interaction
specialist

Temat: Problem tłem przy zmniejszaniu obrazków

Poczytaj o alpha blending?
Przemysław Pawliczuk

Przemysław Pawliczuk CEO/Designer @
h2p.pl, developer @
DreamCommerce SA

Temat: Problem tłem przy zmniejszaniu obrazków

http://pl.php.net/manual/en/function.imagealphablendin...

konto usunięte

Temat: Problem tłem przy zmniejszaniu obrazków

kurcze, poprawiłem na coś takiego:

$croppedImage=imagecreatetruecolor($smallerSize, $smallerSize); // create square image
imagealphablending($croppedImage, true);
$resizedImage=imagecreatetruecolor($site_max_thumbnails_size, $site_max_thumbnails_size);
imagealphablending($resizedImage, true);
imagecopy($croppedImage, $img, 0, 0, $croppingStartWidth, $croppingStartHeight, $smallerSize, $smallerSize); // build cropped, square image
imagecopyresampled ($resizedImage, $croppedImage, 0, 0, 0, 0, $site_max_thumbnails_size, $site_max_thumbnails_size, $smallerSize, $smallerSize);


ale niestety nie działa :(
Przemysław Pawliczuk

Przemysław Pawliczuk CEO/Designer @
h2p.pl, developer @
DreamCommerce SA

Temat: Problem tłem przy zmniejszaniu obrazków

http://www.akemapa.com/2008/07/10/php-gd-resize-transp...

?

konto usunięte

Temat: Problem tłem przy zmniejszaniu obrazków

Polecam zapoznać się z tym artykułem, pod koniec jest poruszony również Twój problem.

Następna dyskusja:

problem z kodowaniem przy i...




Wyślij zaproszenie do