Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> resize jpg do stalej wysokosci
spandor
post 14.08.2007, 04:26:21
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 2.03.2004

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


Witam

Mam taki problem, nie daje sobie rady ze zmiana tego skryptu aby zmiejszal fotke do zgory zadanej wysokosci. Ze podaje wysokosc 100 pix a on do tej wysokosci dobiera szerokosc.

pozd

  1. <?php
  2. function Resize($strName, $strNewName, $intMax) {
  3. // Wczytanie obrazka z pliku $strName
  4. $resImg = imagecreatefromjpeg($strName);
  5.  
  6. // Rozmiary obrazka
  7. $intWidth = imagesx($resImg); //szerokość
  8. $intHeight = imagesy($resImg); //wysokość
  9.  
  10. // Proporcje długości do szerokońci
  11. $floRatio = $intWidth / $intHeight;
  12.  
  13. // Wyliczenie skali do zmniejszenia
  14. if ($floRatio >= 1) {
  15. //poziome
  16. if ($intHeight < 800 && $intMax == 800) {
  17. $intMax = $intHeight;
  18. }
  19. $intNewHeight = $intMax;
  20. $intNewWidth = ($intMax / $floRatio);
  21. } else {
  22. //pionowe
  23. if ($intWidth < 600 && $intMax == 800) {
  24. $intMax = $intWidth;
  25. }
  26. $intNewWidth = $intMax;
  27. $intNewHeight = ($intMax * $floRatio);
  28. }
  29.  
  30. // Utworzenie "nowego" obrazka (pola roboczego) o wyliczonym rozmiarze
  31. $resTempImg = imagecreatetruecolor($intNewWidth, $intNewHeight);
  32.  
  33. // Przekopoiwanie wraz ze skalowaniem obrazka zródłowego na docelowy
  34. imagecopyresampled($resTempImg, $resImg, 0, 0, 0, 0, $intNewWidth, $intNewHeight, $intWidth, $intHeight );
  35.  
  36. // Zapis "nowego" obrazka do pliku podanym jako $strNewName
  37. imagejpeg($resTempImg, $strNewName);
  38. }
  39. ?>


Ten post edytował spandor 14.08.2007, 04:37:00
Go to the top of the page
+Quote Post
k@mil
post 19.08.2007, 21:44:31
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 19.08.2007
Skąd: Glinnik

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


  1. <?php
  2. function Resize($strName, $strNewName, $intNewHeight) {
  3. // Wczytanie obrazka z pliku $strName
  4. $resImg = imagecreatefromjpeg($strName);
  5. // Rozmiary obrazka
  6. $intWidth = imagesx($resImg); //szerokość
  7. $intHeight = imagesy($resImg); //wysokość
  8. // Proporcje długości do szerokońci
  9. $floRatio = $intWidth / $intHeight;
  10. // Wyliczenie szerokości
  11. $intNewWidth = $newHeight * $floRatio;
  12. // Utworzenie "nowego" obrazka (pola roboczego) o wyliczonym rozmiarze
  13. $resTempImg = imagecreatetruecolor($intNewWidth, $intNewHeight);
  14. // Przekopiowanie wraz ze skalowaniem obrazka zródłowego na docelowy
  15. imagecopyresampled($resTempImg, $resImg, 0, 0, 0, 0, $intNewWidth, $intNewHeight, $intWidth, $intHeight );
  16. // Zapis "nowego" obrazka do pliku podanym jako $strNewName
  17. imagejpeg($resTempImg, $strNewName);
  18. }
  19. ?>


Nie testowane. spróbuj

Ten post edytował k@mil 20.08.2007, 14:51:53
Go to the top of the page
+Quote Post
Sadu2
post 22.08.2007, 10:18:07
Post #3





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


Może to Ci sie przyda CLICK
Go to the top of the page
+Quote Post
hondek
post 22.08.2007, 10:42:23
Post #4





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


Ja zrobilem to tak :

  1. <?php
  2. function mini($foto) {
  3.  
  4. $fotos = "foto/".$foto;
  5. $mini = "mini/".$foto;
  6.  
  7. if (!file_exists($mini)) {
  8. $img = imagecreatefromjpeg("$fotos");
  9. $width = imagesx($img); // szerokosc jpga
  10. $height = imagesy($img); // wysokosc jpga
  11.  
  12. $width_mini = 70; // ustalasz szerokosc (tu akurat 70px, analognicznie mozna ustalic wysokosc)
  13. $x = $width/$width_mini; 
  14. $height_mini = $height/$x;
  15.  
  16. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  17.  
  18. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
  19.  
  20. imagejpeg($img_mini, "mini/$foto", 80);
  21. imagedestroy($img);
  22. imagedestroy($img_mini);
  23. }
  24. }
  25. ?>


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 14:13