Powitać.

Mam taki kod do robienia miniaturek i wszystko fajnie działa, zmniejsza obrazek proporcjonalnie czy to orientacja zdjecia jest pozioma czy pionowa. Chciałbym jednak dla zdjęć o orientacji poziomej zrobić coś takiego, żeby miniaturka zawierała tylko fragment zdjęcia, powiedzmy 67 pikseli z lewej strony, aby wszystkie miniaturki były takiej samej szerokości i wysokości (67x100). Namieszałem ale mam nadzięję, że rozumiecie o co mi chodzi. Może mi ktoś podpowiedzieć co trzeba w tym kodzie zmienić? Z góry dziękuję i pozdrawiam.

  1. <?php
  2. $out = $galeria . "/tn" . $nazwa;
  3. $file = $uploadfile;
  4. $max_width = 300;
  5. $max_height = 100;
  6. $size = GetImageSize($file);
  7. $width = $size[0];
  8. $height = $size[1];
  9. $x_ratio = $max_width / $width;
  10. $y_ratio = $max_height / $height;
  11.  
  12. if (($width <= $max_width) && ($height <= $max_height)) {
  13.  $tn_width = $width;
  14.  $tn_height = $height;
  15. } else 
  16.  if (($x_ratio * $height) < $max_height) {
  17. $tn_height = ceil($x_ratio * $height);
  18. $tn_width = $max_width;
  19.  } else {
  20. $tn_width = ceil($y_ratio * $width);
  21. $tn_height = $max_height;
  22. }
  23.  
  24. $src = ImageCreateFromJpeg($file);
  25. $dst = ImageCreateTrueColor($tn_width,$tn_height);
  26.  
  27. ImageCopyResampled($dst, $src, 0, 0, 0, 0, $tn_width,$tn_height,$width,$height);
  28.  
  29. ImageJpeg($dst, $out, 85);
  30. ImageDestroy($src);
  31. ImageDestroy($dst);
  32. chmod($galeria . "/tn" . $nazwa, 0777);
  33. ?>



Edit:
Czy ktoś może skasować? Właśnie na to wpadłem, banalne rozwiązania są czasem najtrudniejsze do znalezienia...

$dst = ImageCreateTrueColor(67, 100);

---
zostawiam, może komuś się przyda.
~siemakuba