Hi,
ich habe folgende Funktion zum Skalieren von Bildern geschrieben:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: | //Funktion zum Skalieren von Bilddateien
function resize_image($max_size,$srcfile,$destfile) {
$im_old = ImageCreateFromJPEG($srcfile);
$size_im_old = getimagesize($srcfile);
if($size_im_old[0] > $max_size || $size_im_old[1] > $max_size) {
if($size_im_old[0] > $size_im_old[1]) {
$size_x_new = $max_size;
$size_y_new = ($size_x_new*$size_im_old[1])/$size_im_old[0];
} else {
$size_y_new = $max_size;
$size_x_new = ($size_y_new*$size_im_old[0])/$size_im_old[1];
}
} else {
$size_y_new = $size_im_old[1];
$size_x_new = $size_im_old[0];
}
$im_new = imagecreate($size_x_new,$size_y_new);
ImageCopyResized($im_new,$im_old,0,0,0,0,$size_x_new,$size_y_new,ImageSX($im_old),ImageSY($im_old));
ImageJPEG($im_new,$destfile);
ImageDestroy($im_new);
} |
Leider scheinen bei der Prozedur irgendwo Farbinformationen verloren zu gehen.
Hat jemand von euch eine Idee, woran das liegen könnte?
Gruß
Lewi
---
Lewi = ehemals the_doc