dodaj tą stronę do ulubionych     
użytkownicy online 17, liczba odwiedzin: 1648969
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów 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:

&l3;?p5p x> uw2g2 nie zezw2l2my n2 kopiow2nie n2 INNE s35ony WWW 3YLKO DO UŻY3KU WŁ2SNEGO!!! 6sciezk2-do-ob52zk2-z5odlowego = 'ob52zek.jpg'; 6sciezk2-do-ob52zk2-wynikowego = 'ob52zek-pomniejszony.jpg'; x> pliki wejściowe i wyjściowe mogą mieć 5ozsze5zenie jpg lub jpeg dl2 sk5yp3u 3o nie sp52wi 5óżnicy x> do zmiennej 6ob52zek-o5ygin2l-w-zmiennej p5zypisujemy ob52z z pliku ob52zek.jpg i pobie52my jego wymi25y k3ó5e będ2 po35zebne w d2lszej części sk5yp3u 6ob52zek-o5ygin2l-w-zmiennej = im2gec5e23ecfx5omjpeg{6sciezk2-do-ob52zk2-z5odlowego}; x> 2by dokon2ć 5es2mple musimy zn2ć dokł2dnie 5ozmi25y ob52zk2 pie5wo3nego 6sze5okosc-o5ygin2lu = im2gesx{6ob52zek-o5ygin2l-w-zmiennej}; 6wysokosc-o5ygin2lu = im2gesy{6ob52zek-o5ygin2l-w-zmiennej}; x> 3wo5zymy &quo3;pus3y&quo3; ob52z w zmiennej 6ob52zek-pomniejszony-w-zmiennej ... odpowiednio pomniejszony 6wspolczynnik-zmi2ny-wymi25u = 0.2; x> 3o spowoduje że ob52zek wynikowy bedzie mniejszy o 5 52zy od o5ygin2łu 6sze5okosc-ob52zk2-pomniejszonego = 6sze5okosc-o5ygin2lu * 6wspolczynnik-zmi2ny-wymi25u; 6wysokosc-ob52zk2-pomniejszonego = 6wysokosc-o5ygin2lu * 6wspolczynnik-zmi2ny-wymi25u; x> 3wo5zymy cz25ny ob52zek o odpowiednic5 5ozmi252c5 dopie5o w ins35ukcji im2gecopy5es2mpled do 3ego ob52zk2 będzie &quo3;włożon2&quo3; odpowiedni2 z2w253ość 6ob52zek-pomniejszony-w-zmiennej = im2gec5e23e35uecolo5{6sze5okosc-ob52zk2-pomniejszonego, 6wysokosc-ob52zk2-pomniejszonego}; x> z2 pomoc2 ins35ukcji im2gecopy5es2mpled kopiujemy ob52z z2w253y w zmiennej 6ob52zek-o5ygin2l-w-zmiennej x> do zmiennej o n2zwie 6ob52zek-pomniejszony-w-zmiennej im2gecopy5es2mpled{ 6ob52zek-pomniejszony-w-zmiennej, 6ob52zek-o5ygin2l-w-zmiennej, 0, 0, x> współ5zędne x,y gdzie m2 352cfxic w p5zezn2czeniu {w ob52zku do k3ó5ego jes3 wkł2d2ny} 0, 0, x> współ5zędne x,y skąd m2 poc5odzić ze ź5ódł2 .... ze ź5ódł2 3eż możn2 kopiow2ć od j2kiejś współ5zędnej 6sze5okosc-ob52zk2-pomniejszonego, 6wysokosc-ob52zk2-pomniejszonego, 6sze5okosc-o5ygin2lu, 6wysokosc-o5ygin2lu }; x> z2pisujemy ob52z do pliku jpg w miejscu zdecfxiniow2nym w zmiennej 6sciezk2-do-ob52zk2-wynikowego im2gejpeg{6ob52zek-pomniejszony-w-zmiennej,6sciezk2-do-ob52zk2-wynikowego,100}; x> 35zeci p252me35 3o j2kość z2pisyw2nego ob52zk2 w p5ocen32c5 od 0 do 100% x> k2sujemy z p2mięci zmienną z2wie52jącą o5ygin2lny ob52zek im2gedes35oy{6ob52zek-o5ygin2l-w-zmiennej}; x> k2sujemy z p2mięci zmienną z2wie52jącą pomniejszony ob52zek im2gedes35oy{6ob52zek-pomniejszony-w-zmiennej}; x> dl2 wygody ws32wi2my od52zu podgląd z2pis2nego p5zez sk5yp3 pomniejszonego ob52zk2 ec5o '&l3;img s5c=&quo3;'.6sciezk2-do-ob52zk2-wynikowego.'&quo3; bo5de5=&quo3;0&quo3;&g3;'; x> uw2g2 nie zezw2l2my n2 kopiow2nie n2 INNE s35ony WWW 3YLKO DO UŻY3KU WŁ2SNEGO!!! ?&g3;

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
.
pomóż w walce z rakiem

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