Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Miniatura obrazka, a potem wyswietlenie jego
NetJaro
post
Post #1





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Jak zrobić miniaturę obrazka a potem po kliknięciu na tą miniature pojawił się oryginalny rozmiar obrazka w popupie?

Pozdro :-)

P.S

Mam kod co tworzy miniaturę obrazka:

  1. <?php
  2. header('Content-type: image/jpeg');
  3.  
  4. $myimage = resizeImage(&#092;"./img/$id.jpg\", \"200\", \"200\");
  5. function resizeImage($filename, $newwidth, $newheight){
  6. list($width, $height) = getimagesize($filename);
  7. if($width > $height && $newheight < $height){
  8. $newheight = $height / ($width / $newwidth);
  9. } else if ($width < $height && $newwidth < $width) {
  10. $newwidth = $width / ($height / $newheight);
  11. } else {
  12. $newwidth = $width;
  13. $newheight = $height;
  14. }
  15. $thumb = imagecreatetruecolor($newwidth, $newheight);
  16. $source = imagecreatefromjpeg($filename);
  17. imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  18. return imagejpeg($thumb);
  19. }
  20. ?>


Lecz on wyświetla obrazek sam (tak jak działa <img>).

Ten post edytował NetJaro 7.05.2005, 20:42:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mario
post
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


ja napisałem takie coś.

funkcja_zmien_rozdzielczosc_obrazka.php

  1. <?
  2. function zmien_rozdzielczosc_obrazka ($img_path, $maksymalna_szerokosc, $maksymalna_wysokosc)
  3.  {
  4. $katalog_serwera = $_SERVER['DOCUMENT_ROOT'];
  5.  
  6. If (file_exists(&#092;"$katalog_serwera/$img_path\"))
  7.  {
  8. $img_size = GetImageSize(&#092;"$katalog_serwera/$img_path\");
  9. $img_width = $img_size[0];
  10. $img_height = $img_size[1];
  11.  
  12. $ratio_x = $maksymalna_szerokosc / $img_width;
  13. $ratio_y = $maksymalna_wysokosc / $img_height;
  14.  
  15. if ($img_width < $maksymalna_szerokosc && $img_height < $maksymalna_wysokosc)
  16.  {
  17. $new_width = $img_width;
  18. $new_height = $img_height; 
  19.  }
  20. else
  21.  {
  22. if ($ratio_x > $ratio_y) // Fotka wyzsza niz szersza
  23.  {
  24. $new_width = ceil($img_width * $ratio_y);
  25. $new_height = $maksymalna_wysokosc;
  26.  }
  27. else
  28.  { // Fotka szersza niz wyzsza
  29. $new_width = $maksymalna_szerokosc;
  30. $new_height = ceil($img_height * $ratio_x);
  31.  }
  32.  }
  33.  
  34. $zrd = ImageCreateFromJpeg(&#092;"$katalog_serwera/$img_path\");
  35. $prz = ImageCreateTrueColor($new_width,$new_height);
  36.  
  37. ImageCopyResampled($prz,$zrd,0,0,0,0,$new_width,$new_height,$img_width,$img_height);
  38.  
  39. $zdjecie = pathinfo(&#092;"$katalog_serwera/$img_path\");
  40.  
  41. $zdjecie_katalog = $zdjecie [&#092;"dirname\"];
  42. $zdjecie_nazwa = $zdjecie [&#092;"basename\"];
  43. $zdjecie_rozszerzenie = $zdjecie [&#092;"extension\"];
  44. $zdjecie_sciezka = &#092;"$zdjecie_katalog/$zdjecie_nazwa\";
  45. $zdjecie_sciezka_zapis = &#092;"$zdjecie_katalog/$zdjecie_nazwa\";
  46.  
  47. ImageJpeg ($prz, $zdjecie_sciezka_zapis, 80);
  48. ImageDestroy($zrd);
  49. ImageDestroy($prz);
  50.  
  51. $zdjecie_rozmiar_pliku = filesize($zdjecie_sciezka_zapis);
  52. $zdjecie_rozmiar_pliku = ceil($zdjecie_rozmiar_pliku/1024);
  53.  
  54. list ($zdjecie_szerokosc, $zdjecie_wysokosc, $type, $attr) = getimagesize ($zdjecie_sciezka_zapis);
  55.  
  56. $zdjecie = array ($zdjecie_sciezka_zapis, $zdjecie_katalog, $zdjecie_nazwa, $zdjecie_rozszerzenie, $zdjecie_szerokosc, $zdjecie_wysokosc, $zdjecie_rozmiar_pliku);
  57.  
  58. return $zdjecie;
  59.  }
  60.  }
  61. ?>


aby zrobić miniaturkę include'ujesz funkcję:

  1. <?php
  2. include (&#092;"funkcja_zmien_rozdzielczosc_obrazka.php\");
  3. ?>


kopiujesz obrazek na serwer, i odpalasz funkcję z parametrami:
  1. <?php
  2. $miniaturka = zmien_rozdzielczosc_obrazka ($nazwa_pliku, $max_szerokosc, $max_wysokosc);
  3. ?>


Funkcja zrobi Ci miniaturkę i zapisze pod podaną nazwą $nazwa_pliku. Zwróci również parametry miniaturki: wielkość, szerokość, rozmiar, rozszerzenie, katalog zapisu itp.

A teraz wystarczy skorzystać z kodu do robienia auto-pop'upów opisanego w topicu małe w duże obrazki
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 04:56