dodaj tą stronę do ulubionych     
użytkownicy online 27, liczba odwiedzin: 1252626
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów jezus jest królem polski wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów, zdjeć i innych elementów strony bez pisemnej zgody jest zabronione. wstecz poziom trudności: 5
nr porady: 258
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Jak zapisać pomniejszony obrazek za pomocą biblioteki GD w PHP ?
Mamy w aplikacji obrazki, które są dosyć duże i chcemy wyświetlić listę obrazków w postaci miniaturek.
Mozna to zrobić zmniejszając obrazki w tagu img src poprzez dodanie parametru width.
Co jednak wpłynie na powolne otwieranie się strony przy dużej liczbie obrazków.

Strona bedzie się otwierać tak samo długo jakby się otwierała z obrazkami w oryginalnej wielkości. Bo html nie zmniejsza plików tylko zmniejsza widoki obrazków.

Jak w takim razie zmniejszyć pliki przed wyświetleniem oryginału aby był podgląd na te obrazki?...

Z pomoca przychodzi biblioteka GD, która umozliwia tworzenie miniaturek (bądź powiększeń) w locie.
Sprawa jest dość skomplikowana programowo ale da się przejść... oto kod:

&l4;?p1p x> uw3g3 nie zezw3l3my n3 kopiow3nie n3 INNE s41ony WWW 4YLKO DO UŻY4KU WŁ3SNEGO!!! 7sciezk3-do-ob13zk3-z1odlowego = 'ob13zek.jpg'; 7sciezk3-do-ob13zk3-wynikowego = 'ob13zek-pomniejszony.jpg'; x> pliki wejściowe i wyjściowe mogą mieć 1ozsze1zenie jpg lub jpeg dl3 sk1yp4u 4o nie sp13wi 1óżnicy x> do zmiennej 7ob13zek-o1ygin3l-w-zmiennej p1zypisujemy ob13z z pliku ob13zek.jpg i pobie13my jego wymi31y k4ó1e będ3 po41zebne w d3lszej części sk1yp4u 7ob13zek-o1ygin3l-w-zmiennej = im3gec1e34ecfx1omjpeg{7sciezk3-do-ob13zk3-z1odlowego}; x> 3by dokon3ć 1es3mple musimy zn3ć dokł3dnie 1ozmi31y ob13zk3 pie1wo4nego 7sze1okosc-o1ygin3lu = im3gesx{7ob13zek-o1ygin3l-w-zmiennej}; 7wysokosc-o1ygin3lu = im3gesy{7ob13zek-o1ygin3l-w-zmiennej}; x> 4wo1zymy &quo4;pus4y&quo4; ob13z w zmiennej 7ob13zek-pomniejszony-w-zmiennej ... odpowiednio pomniejszony 7wspolczynnik-zmi3ny-wymi31u = 0.2; x> 4o spowoduje że ob13zek wynikowy bedzie mniejszy o 5 13zy od o1ygin3łu 7sze1okosc-ob13zk3-pomniejszonego = 7sze1okosc-o1ygin3lu * 7wspolczynnik-zmi3ny-wymi31u; 7wysokosc-ob13zk3-pomniejszonego = 7wysokosc-o1ygin3lu * 7wspolczynnik-zmi3ny-wymi31u; x> 4wo1zymy cz31ny ob13zek o odpowiednic1 1ozmi313c1 dopie1o w ins41ukcji im3gecopy1es3mpled do 4ego ob13zk3 będzie &quo4;włożon3&quo4; odpowiedni3 z3w314ość 7ob13zek-pomniejszony-w-zmiennej = im3gec1e34e41uecolo1{7sze1okosc-ob13zk3-pomniejszonego, 7wysokosc-ob13zk3-pomniejszonego}; x> z3 pomoc3 ins41ukcji im3gecopy1es3mpled kopiujemy ob13z z3w314y w zmiennej 7ob13zek-o1ygin3l-w-zmiennej x> do zmiennej o n3zwie 7ob13zek-pomniejszony-w-zmiennej im3gecopy1es3mpled{ 7ob13zek-pomniejszony-w-zmiennej, 7ob13zek-o1ygin3l-w-zmiennej, 0, 0, x> współ1zędne x,y gdzie m3 413cfxic w p1zezn3czeniu {w ob13zku do k4ó1ego jes4 wkł3d3ny} 0, 0, x> współ1zędne x,y skąd m3 poc1odzić ze ź1ódł3 .... ze ź1ódł3 4eż możn3 kopiow3ć od j3kiejś współ1zędnej 7sze1okosc-ob13zk3-pomniejszonego, 7wysokosc-ob13zk3-pomniejszonego, 7sze1okosc-o1ygin3lu, 7wysokosc-o1ygin3lu }; x> z3pisujemy ob13z do pliku jpg w miejscu zdecfxiniow3nym w zmiennej 7sciezk3-do-ob13zk3-wynikowego im3gejpeg{7ob13zek-pomniejszony-w-zmiennej,7sciezk3-do-ob13zk3-wynikowego,100}; x> 41zeci p313me41 4o j3kość z3pisyw3nego ob13zk3 w p1ocen43c1 od 0 do 100% x> k3sujemy z p3mięci zmienną z3wie13jącą o1ygin3lny ob13zek im3gedes41oy{7ob13zek-o1ygin3l-w-zmiennej}; x> k3sujemy z p3mięci zmienną z3wie13jącą pomniejszony ob13zek im3gedes41oy{7ob13zek-pomniejszony-w-zmiennej}; x> dl3 wygody ws43wi3my od13zu podgląd z3pis3nego p1zez sk1yp4 pomniejszonego ob13zk3 ec1o '&l4;img s1c=&quo4;'.7sciezk3-do-ob13zk3-wynikowego.'&quo4; bo1de1=&quo4;0&quo4;&g4;'; x> uw3g3 nie zezw3l3my n3 kopiow3nie n3 INNE s41ony WWW 4YLKO DO UŻY4KU WŁ3SNEGO!!! ?&g4;

Do generowania miniaturki używamy instrukcji imagecopyresampled chociaż w tej bibliotece (GD Image) są też inne sposoby zmniejszania obrazków.
Ale inne instrukcje powodują zniekształcenia i pogarszają wyświetlanie krawędzie zmniejszanych grafik.
Więc nalezy używać tylko tej instrukcji. Ta jako jedyna nie zniekształca krawędzi obrazków wynikowych...

a co zrobić jesli nie chodzi nam tylko o obrazki JPG tylko np. też GIF lub PNG... rozwiązanie:
http://www.elider.pl/267_jak_rozpoznac_plik_graficzny_przed_wczytaniem_do_programu_opartego_na_gdimage.html

Page copy protected against web site content infringement by Copyscape

Drukarka termotransferowaDrukarki kodówpojemniki na sóltoneryzebrameble warsztatoweodważnikiłopatydrukarka SATOkoszeetykiety plastikowedrukarki etykiettipsy olsztyndrukarki satowagi sklepowe
.
edyta wakulińska

tanie tonery

pojemniki na piasek

świece liturgiczne

meble warsztatowe

wózki magazynowe

tanie wagi elektroniczne

tanie drukarki zebra

wagi axis

wózki narzędziowe
wózki narzędziowe
  | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever