Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pomniejszanie zdjecia do thumbnail
Forum PHP.pl > Forum > Przedszkole
gsmphone
Witam,

Mam taki problem. Wykombinowałem sobie skrypt do przemiany z jpg na bmp w locie. Wszystko dobrze ale ja chciałbym zmienić jego rozmiar. To też udało mi się zrobić z tym że nie pomniejsza się obraz tylko tak jakby zakres widoczności. Co w tym kodzie zmienić żeby się cały obraz pomniejszał?

Z góry dziękuję za pomoc

  1. <?php
  2. $jpgImageFile = 'PLIKJPG.jpg';
  3. $newFileName = 'NAZWAPLIKUBMP';
  4.  
  5.  
  6. $imageSource = imagecreatefromjpeg($jpgImageFile);
  7. imagebmp($imageSource,$newFileName.".bmp");
  8.  
  9.  
  10. function imagebmp(&$im, $filename = "")
  11. {
  12. if (!$im) return false;
  13. $w = imagesx($im);
  14. $h = imagesy($im);
  15. $result = '';
  16.  
  17. if (!imageistruecolor($im)) {
  18. $tmp = imagecreatetruecolor($w, $h);
  19. imagecopy($tmp, $im, 0, 0, 0, 0, $w, $h);
  20. imagedestroy($im);
  21. $im = & $tmp;
  22. }
  23.  
  24. $biBPLine = $w * 3;
  25. $biStride = ($biBPLine + 3) & ~3;
  26. $biSizeImage = $biStride * $h;
  27. $bfOffBits = 54;
  28. $bfSize = $bfOffBits + $biSizeImage;
  29.  
  30. $result .= substr('BM', 0, 2);
  31. $result .= pack ('VvvV', $bfSize, 0, 0, $bfOffBits);
  32. $result .= pack ('VVVvvVVVVVV', 40, $w, $h, 1, 24, 0, $biSizeImage, 0, 0, 0, 0);
  33.  
  34. $numpad = $biStride - $biBPLine;
  35. for ($y = $h - 1; $y >= 0; --$y) {
  36. for ($x = 0; $x < $w; ++$x) {
  37. $col = imagecolorat ($im, $x, $y);
  38. $result .= substr(pack ('V', $col), 0, 3);
  39. }
  40. for ($i = 0; $i < $numpad; ++$i)
  41. $result .= pack ('C', 0);
  42. }
  43.  
  44. if($filename==""){
  45. echo $result;
  46. }
  47. else
  48. {
  49. $file = fopen($filename, "wb");
  50. fwrite($file, $result);
  51. fclose($file);
  52. }
  53. return true;
  54. }
  55. ?>
nospor
bo imagecopy(), jak sama nazwa wskazuje, kopiuje a nie skaluje.
Ty masz uzyc
http://pl2.php.net/manual/pl/function.imagecopyresampled.php
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.