Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] ImageCreateFromBMP problem
Forum PHP.pl > Forum > Przedszkole
krzysiek17
Cześć, posiadam swój hosting obrazków, lecz niestety na razie obsługuje tylko gif, jpg, png. Chciałbym rozbudować jego funkcję o BMP. Jednak nie potrafię wpisać tego w kod, chodzi mi o tworzenie miniaturki. Poniżej zamieszczam trochę kodu. Proszę o pomoc!

  1. <?php
  2. $ext = $uzyj_nazwy_typ;
  3.              $ext = @str_replace(&#092;"image/jpeg\", \"ImageCreateFromJPEG\", \"$ext\");
  4.              $ext = @str_replace(&#092;"image/pjpeg\", \"ImageCreateFromJPEG\", \"$ext\");
  5.              $ext = @str_replace(&#092;"image/gif\", \"ImageCreateFromGIF\", \"$ext\");
  6.              $ext = @str_replace(&#092;"image/png\", \"ImageCreateFromPNG\", \"$ext\");
  7.              $ext = @str_replace(&#092;"image/x-png\", \"ImageCreateFromPNG\", \"$ext\");
  8.              $ext = @str_replace(&#092;"image/bmp\", \"ImageCreateFromBMP\", \"$ext\");
  9.              
  10.              
  11.              $obrazek_zrodlowy=$ext($obrazek) or die($lang['source_img_error'] . $ext);
  12.  
  13.              $hide_text = ($nowa_szerokosc < 150) ? 1 : 0;
  14.  
  15.              $bar_height = ($hide_text) ? 0 : 15;
  16.  
  17.              $res = @getimagesize(&#092;"\".$katalog . $numer . $uzyj_nazwy.\"\");
  18.              $typ = $res['mime'];
  19.              $width = $res[0];
  20.              $height = $res[1];
  21.  
  22.              $fsize = @filesize($katalog . $numer . $uzyj_nazwy);
  23.              $ext = 0;
  24.              while($fsize > 1024)
  25.              {
  26.                  $fsize = $fsize / 1024;
  27.                  $ext++;
  28.              }
  29.              $size = @explode(&#092;".\", $fsize);
  30.              $obrazek_docelowy = @imagecreatetruecolor( $nowa_szerokosc, $nowa_wysokosc + $bar_height );
  31.              @imagerectangle( $obrazek_docelowy, 0, 0, $nowa_szerokosc, $nowa_wysokosc, @imagecolorallocate( $obrazek_docelowy, 0, 0, 0) );
  32.  
  33.              $dw = $nowa_szerokosc;
  34.  
  35.              @imagecopyresampled($obrazek_docelowy,$obrazek_zrodlowy,1,1,0,0, $nowa_szerokosc,$rozmiar,@ImageSX($obrazek_zrodlowy),@ImageSY($obrazek_zrodlowy));
  36.  
  37.              if( !$hide_text )
  38.              {
  39.                  @imagestring( $obrazek_docelowy, 2, 30, $nowa_wysokosc, &#092;"\".$width.\"x\".$height.\" \".$size[0].\"kb\", @imagecolorallocate( $obrazek_docelowy, 255, 255, 255 ) );
  40.              }
  41.              @imagegif($obrazek_docelowy, $obrazek_min, $jakosc);
  42.              @imagedestroy($obrazek_zrodlowy);
  43.              @imagedestroy($obrazek_docelowy);
  44.              @chmod ($obrazek_min, @octdec(666));
  45.  
  46.              require_once(&#092;"./upload_done.php\");
  47. ?>
Riklaunim
Czy zainstalowana wersja GD obsługuje BMP (zobacz w phpinfo)? (i czy chcesz naprawdę obsługiwać upload bardzo dużych plików - czyli BMP? smile.gif)
krzysiek17
obsługuje, raczej zależy mi na tym.
erix
Cytat
Chciałbym rozbudować jego funkcję o BMP

GD natywnie chyba BMP nie obsługuje. tongue.gif Przynajmniej w manualu nic takiego nie znalazłem.

Zobacz: http://users.iplexx.phpclasses.org/browse/package/3391.html
krzysiek17
To może istnieje jakiś inny sposób na tą miniaturkę z BMP?
erix
ImageMagick
l0ud
http://www.jpexs.com/php.html

Ściągnij pierwszy plik z listy i dołącz (include, cokolwiek innego) do skryptu. Powinno działać winksmiley.jpg
krzysiek17
Cytat(l0ud @ 15.12.2008, 21:29:21 ) *
http://www.jpexs.com/php.html

Ściągnij pierwszy plik z listy i dołącz (include, cokolwiek innego) do skryptu. Powinno działać winksmiley.jpg


Dzięki bardzo mistrzu, działa! biggrin.gif
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.