3

BMP イメージから GD イメージ リソースを作成しようとしていますが、うまくいきません。

問題の BMP 画像は、Photoshop で作成および保存されたものです。Web で見つけた BMP もいくつか試しましたが、同じ結果が得られました。

getimagesize() は、BMP イメージのイメージ タイプが IMAGETYPE_BMP (6) で、MIME タイプが「image/x-ms-bmp」であることを示しています。

imagecreatefromwbmp() と imagecreatefromxbm() でイメージを実行しようとしましたが、どちらも認識しません。また、imagecreatefromstring() を使用して実行しようとしましたが、「データは認識された形式ではありません」というエラーが発生しました。

PHP 5.3.1 と GD 2.0.34 を搭載した Windows マシンで XAMPP を実行しており、WBMP と XBM のサポートが有効になっています。PHP 5.2.6 および GD 2.0.34 を実行し、WBMP および XBM サポートが有効になっている Linux サーバーでもこれを試しましたが、同じ結果でした。

この BMP から GD 画像リソースを作成する方法はありますか? それは実際に可能ですか?

4

6 に答える 6

3

私の知る限り、BMP 画像はサポートされていません。このimagecreatefromwbmp()方法は、そこにある通常の BMP ではなく、ワイヤレス ビットマップ (WBMP) ファイルを処理するためのものです。imagecreatefromxbm()は XBM 形式を扱うためのものです (これも BMP とは異なります)。

これを回避するには、Photoshop を再度開き、PNG または JPG として保存し直します。PHP が適切なサポートでインストール/コンパイルされていると仮定すると、これらの画像形式のいずれかまたは両方をうまく処理できます。

于 2010-01-20T11:19:28.497 に答える
2

PHP で BMP ファイル (およびその他のファイル形式) の読み取りと保存を可能にする新しいオープンソース プロジェクトが Github にあります。使い方はとても簡単です。

プロジェクトはPHP Image Magicianと呼ばれます。

于 2012-07-19T04:29:43.063 に答える
1

あなたが探しているソリューションはここにあります: http://tr.php.net/imagecreate

コメントまで下にスクロールして、「ImageCreateFromBMP」という名前の関数を見つけます。bmp イメージからイメージを作成するのに役立ちます。

画像を作成したら、imagejpeg()関数を使用して画像を jpeg 形式で保存できます。

于 2010-03-28T21:12:35.440 に答える
0

GD が BMP 形式をサポートしていないことをずっと前に学んだことを思い出すようです。

ここに私が見つけたリンクがあります。

WBMPファイルについては混乱がありましたが、それはずっと前のことです。

Delicious.com のこのタイムラインは、おそらく 2005 年であることを示しています。

于 2010-01-20T11:24:04.253 に答える