Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zmiana rozdzielczosci obrazka
bastek8989
post 26.11.2006, 20:29:25
Post #1





Grupa: Zarejestrowani
Postów: 205
Pomógł: 1
Dołączył: 11.09.2006

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


Witam

Znalazlem w internecie funkcje ktora zmienia mi wielkosc obrazka bez utraty jakosci
wystarczy ze podam adres

thumb150.php?fileName=upload/obrazki/zd17249.jpg

gdzie ten fragmencik thumb150.php?fileName= przerabia obrazek 150x150

i tu pytanie w czym tkwi haczyk, czym sie to rozni jesli zapisanie obrazka jako miniaturke od zminiejszenia bez utraty jakosci orginalu online

czy wydluza to znacznie dzialanie kodu??

dziekuje pozdrawiam

Ten post edytował bastek8989 26.11.2006, 20:40:33


--------------------
Web-Anatomy.com - tworzenie serwisów internetowych oraz stron www z okolic Bielska-Białej. Zapraszam.
Go to the top of the page
+Quote Post
Amorph
post 27.11.2006, 12:54:27
Post #2





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

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


Zmieniając rozdzielczość z większej na mniejszą...(czyt. tworząc thumba nie tracisz na jakości) Największą stratę jakości obserwuje się przy przeskalowaniu obrazów z 100 na mniej więcej 99 procent. Zamiast tracić moc obliczeniową proponowałbym przeskalowywać odrazu przy uploadzie i fizycznie zapisywać 2 plik.
Go to the top of the page
+Quote Post
DANGER
post 27.11.2006, 13:43:32
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 23.11.2006

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


  1. <?php
  2. //plik1 to plik wyslany z formularza
  3. if ($plik1!=''){
  4.  $dir2 = 'foty/'.$id.'_1.jpg';
  5.  
  6.  $file = $plik1;
  7.  $org = imagecreatefromjpeg($file);
  8.  $size_org = getimagesize($file);
  9.  
  10. if ($size_org[0] > $size_org[1]) {
  11. $x_new = 500;
  12. $y_new = $x_new * $size_org[1]/$size_org[0];
  13. } else {
  14. $y_new = 500;
  15. $x_new = $y_new * $size_org[0] / $size_org[1];
  16.  }
  17.  
  18. $new = imagecreatetruecolor($x_new,$y_new);
  19.  
  20.  imagecopyresampled($new,$org,0,0,0,0,$x_new,$y_new,$size_org[0],$size_org[1]);
  21. imagejpeg($new,$dir2,80);
  22. imagedestroy($new);
  23. imagedestroy($org);
  24.  
  25.  
  26.  
  27. $dir2 = 'foty/'.$id.'_1m.jpg';
  28.  
  29.  $file = 'foty/'.$id.'_1.jpg';
  30.  $org = imagecreatefromjpeg($file);
  31.  $size_org = getimagesize($file);
  32.  
  33. if ($size_org[0] > $size_org[1]) {
  34. $x_new = 200;
  35. $y_new = $x_new * $size_org[1]/$size_org[0];
  36. } else {
  37. $y_new = 200;
  38. $x_new = $y_new * $size_org[0] / $size_org[1];
  39.  }
  40.  
  41. $new = imagecreatetruecolor($x_new,$y_new);
  42.  
  43.  imagecopyresampled($new,$org,0,0,0,0,$x_new,$y_new,$size_org[0],$size_org[1]);
  44. imagejpeg($new,$dir2,80);
  45. imagedestroy($new);
  46. imagedestroy($org);
  47.  }
  48. ?>


masz tu skrypcik na zmienianie rozdzielczosci przy uploadzie i na tworzenie miniaturki..
Go to the top of the page
+Quote Post
bastek8989
post 27.11.2006, 17:07:39
Post #4





Grupa: Zarejestrowani
Postów: 205
Pomógł: 1
Dołączył: 11.09.2006

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


zostane jednak przy tym pierwszym rozwiazaniu

z racji tego ze potrzebuje 3 wymiary obrazkow a roznica pomiedzy wyswietlaniem poprzez thumb.php a thumba w katalogu wynosi 300-400 mikrosekund

Ten post edytował bastek8989 27.11.2006, 17:08:57


--------------------
Web-Anatomy.com - tworzenie serwisów internetowych oraz stron www z okolic Bielska-Białej. Zapraszam.
Go to the top of the page
+Quote Post
Ziels
post 27.11.2006, 17:10:29
Post #5





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


A teraz pomyśl że masz 10k odwiedzin na dobę.... Serwer raczył się nieco spocić?

Ten post edytował Ziels 27.11.2006, 17:11:29
Go to the top of the page
+Quote Post
bastek8989
post 27.11.2006, 17:12:12
Post #6





Grupa: Zarejestrowani
Postów: 205
Pomógł: 1
Dołączył: 11.09.2006

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


A teraz pomysl ze mam 10k obrazkow x3 (w kazdym katalogu inny wymiar) niezarobil bym na hdd smile.gif


--------------------
Web-Anatomy.com - tworzenie serwisów internetowych oraz stron www z okolic Bielska-Białej. Zapraszam.
Go to the top of the page
+Quote Post
Amorph
post 27.11.2006, 20:15:33
Post #7





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

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


Średnio, dobrej jakości jpg 1024x768 to około 0,2MB x 10k= 2GB przy dzisiejszych pojemnościach nie jest to dużo....(nawet x3). Za każdym razem gdy będziesz "w locie" przeskalowywał obraz bedzie pobierany oryginalny rozmiar, co będzie powodowało zwiększanie zużycia mocy obliczeniowej oraz czasu procesora.....
co przełoży się na transfer. Przy wykupionym serwerze, częstych odwiedzinach dużo cenniejszy jest transfer niż pojemność hdd.
Go to the top of the page
+Quote Post
bastek8989
post 28.11.2006, 13:59:42
Post #8





Grupa: Zarejestrowani
Postów: 205
Pomógł: 1
Dołączył: 11.09.2006

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


a mam pytanko odnosnie powyzszego kodu


czy zeby zrobic takie thumby dla png i gif wystarczy zmienic z jpeg na gif/png?


--------------------
Web-Anatomy.com - tworzenie serwisów internetowych oraz stron www z okolic Bielska-Białej. Zapraszam.
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: 15.07.2025 - 07:41