0

重複の可能性:
GD にバイナリ文字列から画像を取得させる

foreach ループ内で、その場で画像をグレースケールに変更できる必要があります。

私は基本的にデータベースから一連の画像 URL を取得しています。それらを表示する前に、簡単に言えばグレースケールに変換する必要があります。

ファイルを処理して画像ヘッダーを出力する画像ソースとして別のファイルを実際に作成せずに実行できますか?

4

2 に答える 2

0

画像を表示する前に処理し、php スクリプトを画像ソースとして呼び出さず、画像を新規保存しない場合は、base64 画像ソースを使用してそれを行うことができます。

何かのようなもの :

<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoABBANSUhEUgAAADIA..." />

画像で base64_encode を使用して、base64 でエンコードされたデータを取得できます。

$out = base64_encode(imagepng($im));
echo '<img src="data:image/png;base64,'.$out.'" />';

これでうまくいくはずです。

于 2012-10-11T15:53:08.730 に答える
0

css3 が受け入れられる場合は、これを試してください。

.grayscale {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -kthml-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
}

class="grayscale"あなたのimgに追加します。この方法では元の画像を引き続き使用できますが、ユーザーにはグレースケールで表示されます。追加すると

filter: gray;

上記のように、IE6-9でも動作します

iframe でクラスを使用したデモ: http://jsfiddle.net/8BDVn/

于 2012-10-11T16:27:38.647 に答える