Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmniejszanie i cięcie zdjęcia
deha21
post 8.01.2010, 14:16:07
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

Ostrzeżenie: (0%)
-----


Witam,
Mam skrypt zmniejszania zdjęcie oraz przycinania go. Niestety nijak nie umiem ich ze sobą połączyć.
Potrzebuję zrobić coś takiego:
if (wysokość>szerokość) {
zmniejsz zdjęcie do szerokości 150 i wysokości 100. Resztę wyczyść.
}

Jako, że w GD2 kiepsko się orientuję i te skrypty są oparte na kiedyś tam robionych przeze mnie innych skryptach, mam nadzieję, że mi pomożecie.

Zmniejszanie zdjęć:
  1. function resize($filef, $new_width, $new_height, $thumb, $quality) {
  2. $info = getimagesize($filef);
  3. if ($info === false)
  4. return false;
  5. $img = null;
  6. switch($info[2]){
  7. case IMAGETYPE_JPEG:
  8. $img = imagecreatefromjpeg($filef);
  9. break;
  10. case IMAGETYPE_GIF:
  11. $img = imagecreatefromgif($filef);
  12. break;
  13. case IMAGETYPE_PNG:
  14. $img = imagecreatefrompng($filef);
  15. break;
  16. default:
  17. return false;
  18. }
  19. $th = imagecreatetruecolor($new_width, $new_height);
  20.  
  21. switch($info[2]){
  22. case IMAGETYPE_JPEG:
  23. imagecopyresampled($th, $img, 0, 0, 0, 0, $new_width, $new_height, $info[0], $info[1]);
  24. imagejpeg($th, $filef, $quality);
  25. break;
  26. case IMAGETYPE_GIF:
  27. imagealphablending($th, true);
  28. imagetruecolortopalette($img, true, 256);
  29. imagecopyresampled($th, $img, 0, 0, 0, 0, $new_width, $new_height, $info[0], $info[1]);
  30. imagegif($th, $filef);
  31. break;
  32. case IMAGETYPE_PNG:
  33. imagealphablending($th, false);
  34. imagesavealpha($th, true);
  35. imagecopyresampled($th, $img, 0, 0, 0, 0, $new_width, $new_height, $info[0], $info[1]);
  36. imagepng($th, $filef);
  37. break;
  38. }
  39. imagedestroy($th);
  40. imagedestroy($img);
  41. return true;
  42.  
  43. }
  44.  
  45. if ($infoo[0]>1024) {
  46. $height = (1024/$infoo[0])*$infoo[1];
  47. resize("../files/gallery/".$id."/".$file, 1024, $height, "../files/gallery/".$id."/".$file, 95);
  48. }
  49.  
  50. copy("../files/gallery/".$id."/".$file,"../files/gallery/".$id."/thumb_".$file);
  51. $thumb_height = (150/$info[0])*$info[1];
  52. resize("../files/gallery/".$id."/thumb_".$file, 150, $thumb_height, "../files/gallery/".$id."/thumb_".$file, 95);


Generalnie chodzi mi o to, żeby jeśli zdjęcie jest inaczej proporcjonalne to żeby zmniejszało tak aby dało się z tego wyciąć 150x100. Chodzi tutaj o tylko miniaturkę.
Chyba, że macie jakiś inny sposób? Nawet może obcinać trochę z normalnie proporcjonalnych zdjęć byle by wycinało 150x100 (oczywiście z tych pomniejszonych zdjęć, żeby cokolowiek było tam widać).
Mam nadzieję, że mnie rozumiecie bo kiepski jestem w tłumaczeniu winksmiley.jpg
Pozdrawiam


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 14:48