Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przesyłanie zdjęć na serwer(miniaturki)
Forum PHP.pl > Forum > PHP
kadlub
Mam takie pytanie a mianowicie chce przesłać zdjęcie an serwer do określonego katalogu (to akurat zrobiłem)
ale chce żeby np od razu została utworzona jego miniaturka o określonych prze zemnie wymiarach.
znacie może jakieś strony gdzie jest to jakoś opisane
z góry dziękuje za pomoc

  1. <?php
  2.  
  3. $img = imagecreatefromjpeg("testowy/kontener/2.jpg");
  4. $width = imagesx($img);
  5. $height = imagesy($img);
  6. $width_mini = $width * 0.3;
  7. $height_mini = $height * 0.3;
  8. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  9. imagejpeg($img_mini, "testowy/kontener/2_mini.jpg", 80);
  10. imagedestroy($img);
  11. imagedestroy($img_mini);
  12.  
  13. ?>

zrobiłem coś takiego ( miniaturki ) ale nie działa do końca robi mi czarne obrazki
czego to może być wina??

Kuziu
  1. function img_resize($img_path,$dest_path,$max_width,$max_height)
  2. {
  3. if(file_exists($img_path)){
  4. $img_size = GetImageSize($img_path);
  5. $img_width = $img_size[0];
  6. $img_height = $img_size[1];
  7.  
  8. $ratio_x = $max_width / $img_width;
  9. $ratio_y = $max_height / $img_height;
  10.  
  11. if($img_width < $max_width && $img_height < $max_height){
  12. $new_width = $img_width;
  13. $new_height = $img_height;
  14. }else{
  15. if($ratio_x > $ratio_y){ // Fotka wyzsza niz szersza
  16. $new_width = ceil($img_width * $ratio_y);
  17. $new_height = $max_height;
  18. }else{ // Fotka szersza niz wyzsza
  19. $new_width = $max_width;
  20. $new_height = ceil($img_height * $ratio_x);
  21. }
  22. }
  23.  
  24. $zrd = ImageCreateFromJpeg($img_path);
  25. $prz = ImageCreateTrueColor($new_width,$new_height);
  26.  
  27. ImageCopyResampled($prz,$zrd,0,0,0,0,$new_width,$new_height,$img_width,$img_height);
  28.  
  29. ImageJpeg($prz, $dest_path, 75);
  30. ImageDestroy($zrd);
  31. ImageDestroy($prz);
  32. }
  33. }


Kiedyś napisałem sobie taką funkcję, powinna zadziałać.

W parametrach podajesz sciezke do pliku źródłowego, docelowego, max szerokosc i max wysokosc.

W Twoim kodzie brakuje przekopiowania obrazka: ImageCopyResampled.
kadlub
już to zrobiłem wcześniej ale dzięki za pomoc
FalconTech
@Kuziu - działa to dla wszystkich typów grafiki statycznej czy tylko JPEG?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.