
Na własne potrzeby napisałem skrypt, który ma tworzyć miniaturki.
Wszystko działa ok, poza ty że po zmianie miniaturki tracą kolory lub jakość.
Oto sktypt:
$filename = '../photos/' . $_FILES['upload_file']['name']; 'image/pjpeg' => 'JPEG', 'image/jpeg' => 'JPEG', 'image/gif' => 'GIF', 'image/bmp' => 'WBMP', 'image/png' => 'PNG' ); if($size[0] < 200){ $thumbnail_width = $size[0]; } else { $thumbnail_width = 200; } if($size[1] < 200){ $thumbnail_width = $size[0]; } else { $thumbnail_height = 200; } $filetype = 'image/png'; $function_suffix = $gd_function_suffix[$filetype]; $function_to_read = "ImageCreateFrom".$function_suffix; $function_to_write = "Image".$function_suffix; $source_handle = $function_to_read ( $filename ); if($source_handle) { // Let's create an blank image for the thumbnail $destination_handle = ImageCreate ( $thumbnail_width, $thumbnail_height ); // Now we resize it imagecopyresampled( $destination_handle, $source_handle, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $size[0], $size[1] ); } $function_to_write( $destination_handle, "../thumbnails/tb_" . $_FILES['upload_file']['name'] ); ImageDestroy($destination_handle );
Załączam też przykład zmian:


Z góry dzięki za pomoc

Edytuję ten post dla forumowiczów, którzy mają podobny problem i dla tych którzy nie mieli pojęcia jak go rozwiązać.
Rozwiązanie znalazłem po kilku dniach poszukiwań na anglojęzycznych forach i postanowiłem się podzielić odkryciem, aby zaoszczędzić innym czasu.
Ale do rzeczy, w starej wersji PHP używało się funkcji imagecreate() i ją często spotykamy w starszych skryptach, ale w nowej przy jej użyciu tracą się kolorki (patrz 1 post), w nowej wersji trzeba użyć funkcji imagecreatetruecolor() i wszystko działa.
Temat do zamknięcia.
Pozdrawiam Radeko.