Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Wyciąganie danych z obrazka
Forum PHP.pl > Forum > Przedszkole
MS1
Witam

Ostatnio myślałem nad zmniejszaniem obrazka, skryptem php.
Znalazłem w internecie skrypty, ale są skomplikowane.

Pomyślałem, że można zrobić to za pomocą proporcji np.

normalna wysokość / normalna szerokość = zmieniona wysokość / np. 100px
Normalną wysokość i szerokość mamy dane, więc jest to równanie z jedną niewiadomą, które łatwo można rozwiązać

Tylko nie wiem:
1. Jak wyciągnąć height i width z obranego obrazka i zapisać jako zmienne
2. Z php zacząłem 'tworzyć' stosunkowo niedawno i nie wiem czy wogóle php radzi sobie z równaniami
nospor
1) http://pl2.php.net/manual/pl/function.getimagesize.php
2)
  1. <?php
  2. $wynik = 2 + 4 / 2 - 20 * 100 * (2-6^2);
  3. echo $wynik;
  4. ?>

A tak na powaznie: no comments winksmiley.jpg

Cytat
więc jest to równanie z jedną niewiadomą, które łatwo można rozwiązać
To nie pytanie czy php poradzi sobie z rownaniami a czy ty sobie poradzisz. PRzeciez to rownanie ma takie rozwiązanie:
zmieniona wysokość = normalna wysokość / normalna szerokość * 100;

uwierz, dla php to zadna przeszkoda... pytanie tylko czy ty potrafisz tak zapisac winksmiley.jpg
Roly
Tutaj masz mnóstwo funkcji związanych z manipulowaniem grafiką w PHP
MS1
Witam. Post ten szczególnie kieruje do forumowicza nospor.

Napisałem taki skrypt:


CODE

list($width, $height, $type, $attr) = getimagesize("images/ek.JPG");

$procent = $width / $height;

$zmienionyheight = 100;
$zmienionywidth = $procent * $zmienionyheight;

// echo '<img src="images/ek.JPG" style=/"width=$zmienionywidth height=100/">'; //

?>


Te znaczniki // dałem bo sygnatura obrazka się wyświetlała (trzeba samemu skasować)

Skrypt działa na zasadzie, którą opisałem na początku tematu.
Muszę się pochwalić, że jest to mój pierwszy napisany w 100% skrypt.

Przetestujcie, mi chodził. Pozdro
nospor
Cytat
Post ten szczególnie kieruje do forumowicza nospor.
"Szczególnie" to daj "Pomogl" - taki u nas zwyczaj winksmiley.jpg

Cytat
Muszę się pochwalić, że jest to mój pierwszy napisany w 100% skrypt.
Brawo. A teraz szklanka zimnej wody na glowe (nie kubel tylko szklanka winksmiley.jpg ) :
Twoja metoda jest nieoptymalna. Do przeglądarki (czyli dla usera) wysylasz i tak caly obrazek, ktory dopiero przeglądarka skaluje.
Takie rzeczy robi sie poprzez generowanie miniatur w php i to miniatury sie wysyla, jesli chcemy pokazac obrazek w mniejszej skali
MS1
Tworząc miniaturki, zajmujemy dodatkowe miejsce na serwerze, i kod jest krótszy przez co cała aplikacja też w jakiś sposób lepiej "chodzi.
Ale to na czym mi najbardziej zależało to skrócenie (uproszczenie) kodu.
Po prostu jak nie potrafię zrozumieć jakiegoś kodu to, biorę inny - a jak nie znajduje to próbuje sam.

Myślę, że można tak skonfigurować ten kod, że będzie tworzył miniaturkę.

Pomyślę nad tym.
nospor
Cytat
Tworząc miniaturki, zajmujemy dodatkowe miejsce na serwerze
i...? Lepiej zająć pare kilo więcej na serwerze i niż marnować masę transferu. O czasie ladowania strony juz nie wspomne.

Cytat
i kod jest krótszy przez co cała aplikacja też w jakiś sposób lepiej "chodzi.
Tego to juz nie czaje. Do czego to sie odnosi? Do Twojego kodu czy do miniatur?
MS1
Chodziło mi o kod
Kody, które tworzą miniaturki, są kilkakrotnie dłuższe niż ten.

Ale, tworzyłem ten kod z myślą o stronie z ogłoszeniami.
Ktoś, kto wchodzi na stronę danego ogłoszenia i tak prawdopodobnie przeglądnął by wszystkie zdjęcia.
I takim sposobem ładował by duże zdjęcia + miniaturki.
nospor
Cytat
Kody, które tworzą miniaturki, są kilkakrotnie dłuższe niż ten.
I takie mają być - one robią zdecydowanie więcej i lepiej niż Twoj kod. To co ze kod jest dłuższy o 50 linijek? W żaden sposob nie wpływa to na wydajność skryptu.(pomijam oczywiscie sytuacje, ze ktos mogl to napisac bardzo nie wydajnie) Pozatym, miniaturke tworzysz raz, a nie za kazdym razem.

Cytat
Ale, tworzyłem ten kod z myślą o stronie z ogłoszeniami.
Ktoś, kto wchodzi na stronę danego ogłoszenia i tak prawdopodobnie przeglądnął by wszystkie zdjęcia.
I takim sposobem ładował by duże zdjęcia + miniaturki.

Tylko ze ten ktos wchodzi najpierw na liste ogłoszen, gdzie chcialby by ona zaladowala sie w miare szybko. Walenie mu do przeglądarki kilkadziesiat duzych obrazow na raz to przeciez sie zachlastac mozna. A jak jeszcze ktos ma wolniejsze łącze to juz wogóle.
A gdy zaladujesz mu miniaturki, strona mu sie szybko zaladuje i bedzie mogl sobie kliknąc w dowolną miniaturke by ją powiekszych. Moze kliknie wszystkie, moze jedną a moze w zadną.

Ale co ja będę ci tlumaczyl. Widze ze po napisaniu tego skryptu stales sie juz ekspertem i wiesz wszystko najlepiej winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.