Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Skalowanie zdjęć, jak wyżej.
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, mam pytanie odnośnie skalowania zdjęć w php, tak, żeby zachowywały swoje proporcje, bo np. w css jak dam np. #zdjecie img i tutaj ustawię rozmiar tego zdjęcia, to te zdjęcie robi się takie 'nienaturalne', jak to wykonać w php, żeby zdjęcia zachowały swoją naturalność ?
Go to the top of the page
+Quote Post
bahh
post
Post #2





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


W nowych przeglądarkach możesz używać wartości min-width min-height jak i max-width i max-height - W CSS rzecz jasna

W php musisz posłużyć się już proporcją

  1. $img="http://www.xxx.pl/obraz.jpg";
  2. list($width, $height) = getimagesize("$img");
  3.  
  4. echo("$width $height");


Tutaj masz skrypt który odczyta ci rozmiary zdjęcia

Ten post edytował bahh 5.09.2012, 14:53:33
Go to the top of the page
+Quote Post
miras
post
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


no tak rozmiary, ale jak zeskalować te zdjęcie ?
Go to the top of the page
+Quote Post
bahh
post
Post #4





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


niech bd skalowanie do szerokości 300px

więc robisz proporcję (dodajesz to zamiast echo("$width $height");

  1. $height = ($height*300)/$width
  2.  
  3. echo '<img src="'.$img.'" width="300" height="'.$height.'">';


Go to the top of the page
+Quote Post
b4rt3kk
post
Post #5





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Takie sztuczne tworzenie miniaturek jest bardzo nie ergonomiczne, bo przeglądarka i tak musi wczytać zdjęcie, powiedzmy 1920px na 1200px po czym wyświetlić je w pomniejszonej skali. Tak czy siak ma powiedzmy 2MB do pobrania. Jeśli interesuje Cię przeskalowanie zdjęcia, tj. jego równomierne zmniejszenie to w css wystarczy, że nadasz mu jedną wartość, szerokość lub wysokość, weźmy za przykład rozmiar który podałem wcześniej:

  1. img {
  2. width: 192px;
  3. }


wtedy height będzie wynosił 120px.
Go to the top of the page
+Quote Post
Evinek
post
Post #6





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010

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


http://www.white-hat-web-design.co.uk/blog...mages-with-php/

Wypróbuj i przeanalizuj kod.

Najważniejsze linijki:

  1. function resizeToHeight($height) {
  2.  
  3. $ratio = $height / $this->getHeight();
  4. $width = $this->getWidth() * $ratio;
  5. $this->resize($width,$height);
  6. }
  7.  
  8. function resizeToWidth($width) {
  9. $ratio = $width / $this->getWidth();
  10. $height = $this->getheight() * $ratio;
  11. $this->resize($width,$height);
  12. }


Czyli do danej szerokości lub wysokości skalujesz.
Poszukaj również w google na temat skalowania i proporcjach.
http://blog.psboy.pl/2011/05/pomniejszanie...obrazkow-w-php/

PS.
$ratio to proporcje.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 15:19