различия в работе imagecopyresized на Win и Unix хостинге

azamat

Guest
различия в работе imagecopyresized на Win и Unix хостинге

Господа, может кто сталкивался с чем-то подобным:
на Win хостинге при изменения размеров фотографии imagecopyresized работает нормально, на unix изменяет размеры, но при этом как то странно изменяет цвета, получается что-то вроде черно-белого полуинвертированного изображения. Может кто-нибудь помочь? Спасибо.

Win:
Win XP SP1
Apache 1.3.27
PHP 4.3.6
gd version 1.6.2

Unix:
Apache 1.3.27
PHP 4.3.6
gd version 1.6.2
 

azamat

Guest
Прошу прощения за ламерство :) , про Unix я, конечно, наврал, я не дружу c Unix, к сожалению, разрабатываю под Win.
Код:
PHP:
function imageResize($image_path_in, $image_id, $square_side, $image_path_out)
{
  $file_name = $image_path_in . $image_id . ".jpg";
  if (!($size = GetImageSize ($file_name)))
  {
    return 0;
  }

  if (!($image_in = imageCreateFromJpeg ($file_name)))
  {			
     return 0;
  }
  if ($size[0] > $size[1])
  {			
    $width = $square_side;
    $heigth = (int) ($width * $size[1] / $size[0]);
  }
  else
  {
    $heigth = $square_side;
    $width = (int) ($heigth * $size[0] / $size[1]);
  }
  if (!($image_out = imageCreate ($width, $heigth)))
  {
     return 0;
  }
  if (!(imageCopyResized ($image_out, $image_in, 0, 0, 0, 0,
				$width, $heigth, $size[0], $size[1])))
 {
    return 0;
 }
 $file_name = $image_path_out . $image_id . ".jpg";
 if (!(imageJpeg ($image_out, $file_name)))
 { 
   return 0;
 }
 if (!(imageDestroy ($image_in)))
 {
   return 0;
 }
 if (!(imageDestroy ($image_out)))
 {
   return 0;
 }
 return 1;
}
 
Сверху