Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmiana rozmiaru wczytanej grafiki.
Forum PHP.pl > Forum > Przedszkole
Croos22
Witam.

Znalazłem na tym forum trochę kodu odnośnie zmiany rozmiarów dodanej grafiki tylko, że go trochę przerobiłem dodając formularz. W raz z tym pojawiły się problemy:

-Czy jest możliwość pobrania początkowego rozmiaru grafiki?
-Czy grafika musi być przesłana na serwer?

Oto wspomniany przeze mnie kod:
  1. <?php
  2. echo "<form action='d.php' method=post>
  3. Grafika<input type=file name=grafika>
  4. <input type=text name=szerokosc value=szerokosc> <input type=text name=wysokosc value='wysokosc'>
  5. <input type=submit name='submit' value='zmien'>
  6. </form>";
  7. if(isset($_POST['submit'])){
  8. $aktualna_szerokosc = 800;
  9. $aktualna_wysokosc = 630;
  10.  
  11. $nowa_szerokosc = $_POST['szerokosc'];
  12. $nowa_wysokosc = $_POST['wysokosc'];
  13.  
  14. $stosunek_wysokosci = $aktualna_wysokosc / $nowa_wysokosc;
  15. $stosunek_szerokosci = $aktualna_szerokosc / $nowa_szerokosc;
  16.  
  17. $rozmiar = "min";
  18. $skala = $rozmiar($stosunek_szerokosci, $stosunek_wysokosci);
  19.  
  20. $nowa_wysokosc = floor($aktualna_wysokosc / $skala);
  21. $nowa_szerokosc = floor($aktualna_szerokosc / $skala);
  22.  
  23.  
  24.  
  25. $graf = $_POST['grafika']
  26.  
  27. ?>
  28.  
  29. <img src="<?php echo $graf;?>" alt="nowa grafika" <?php echo 'width="'.$nowa_szerokosc.'" height="'.$nowa_wysokosc.'"';?>/>
  30.  
  31. <?php
  32. }
  33. ?>


Gdy testowałem to grafika a właściwie niezaładowany obrazek zmieniał rozmiar.
CuteOne
-Czy jest możliwość pobrania początkowego rozmiaru grafiki?
Poczytaj więcej o grafice w PHP - zachęcam do przeczytania kilku artykułów z tego działu http://wortal.php.pl/Wortal/Artykuly/PHP/Biblioteki

-Czy grafika musi być przesłana na serwer?
Zależy do czego ci jest potrzebna..
Croos22
Przeczytałem artykuł i zrobiłem tak:

na początku pod ifem którym sprawdzam czy submit został wciśnięty dałem:
  1. header('Content-Type: image/jpeg');
  2. $im = imagecreatefromjpeg($_POST['grafika']);
  3. imagepng($im);


Pojawił się jedynie link strony bez obrazka nawet niezaładowanego.

Czy można post-em przekazywać obraz?


Cytat
-Czy grafika musi być przesłana na serwer?
Zależy do czego ci jest potrzebna..


Grafika musi być jedynie pomniejszona do takich rozmiarów jakie sobie użytkownik zażyczy w formularzu.

Prezi2907
Cytat(Croos22 @ 16.02.2011, 20:54:39 ) *
Przeczytałem artykuł i zrobiłem tak:

na początku pod ifem którym sprawdzam czy submit został wciśnięty dałem:
  1. header('Content-Type: image/jpeg');
  2. $im = imagecreatefromjpeg($_POST['grafika']);
  3. imagepng($im);


Pojawił się jedynie link strony bez obrazka nawet niezaładowanego.

Czy można post-em przekazywać obraz?




Grafika musi być jedynie pomniejszona do takich rozmiarów jakie sobie użytkownik zażyczy w formularzu.

Poczytaj sobie na necie o generowaniu miniaturek... To jest praktycznie ten sam problem i ten sam skrypt tylko że odwracasz wartości obrazu... Musisz zobaczyć też naczym takowy resize polega bo to nie jest takie proste...

No i jeśli chodzi o wysyłanie takiego pliku na serwer w orginalnej wersji i przekształconej to nic prostrzego ale to już jak znajdziesz sobie coś o miniaturkach i funkcjach php do nich....
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.