Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przesyłanie zdjęć na serwer(miniaturki)
kadlub
post 16.11.2010, 21:25:31
Post #1





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


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??

Go to the top of the page
+Quote Post
Kuziu
post 16.11.2010, 22:00:41
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


  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.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
kadlub
post 17.11.2010, 14:59:12
Post #3





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


już to zrobiłem wcześniej ale dzięki za pomoc
Go to the top of the page
+Quote Post
FalconTech
post 17.11.2010, 17:28:41
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 15.11.2010

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


@Kuziu - działa to dla wszystkich typów grafiki statycznej czy tylko JPEG?
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: 24.07.2025 - 14:33