一部のアプリではPNGの透明度が認識されますが、他のアプリでは認識されません

StackOverflow https://stackoverflow.com/questions/1004758

  •  05-07-2019
  •  | 
  •  

質問

png画像があります。ここで確認できます:

http://img10.imageshack.us/img10/9145/archer5.png

スプライトの背景は透明です。これはすべてのブラウザーとinfranview(これを作成するために使用した)、およびgimpとwindowsエクスプローラーで表示されます。

ただし、Photoshop、Paint、そして最も重要なのはPHP GDには背景がしっかりしています。これらのアプリケーションのいずれかで画像をチェックして、私が話していることを確認してください。

サーバーで作成されたサムネイルはすべて単色の背景であり、良くありません。

すべてのアプリケーションで透明度を認識させるにはどうすればよいですか?

ありがとう。

注意:これらの画像のうち、同じ操作を行う必要のある画像が2000個あります。バッチの提案も素晴らしいでしょう。

編集:ごめんなさい、私は自分の無能さをおizeびします!間違ったファイル! 正しいファイルでリンクを更新しました、申し訳ありません!

役に立ちましたか?

解決

私にとっても透明です。

MSペイントは透明度をサポートしていません

PHP GDについて言及しているので、このリンクを確認してください

PNG画像の透明度を保持

PHPで透過PNGのサイズ変更と構成

imagecolortransparent PHPマニュアル

imagealphablending PHPマニュアル

imagesavealpha PHPマニュアル

他のヒント

Photoshopの背景は透明です。一部のアプリケーションで透過的でない場合は、ファイルよりもアプリケーションの問題(透過をサポートしていない)であると推測しています。

あなたの問題はアプリケーションそのものだと思います。 PHP GDと言うとき、あなたが本当に意味するのは「Internet Explorer」です。 (PHPはビューアではないため)。 Internet Explorer(少なくともIE7まで)は、透明なPNG(灰色の画像を背後に配置します)を行いません。ただし、Alphaフィルターを使用して風変わりなことを行う場合を除きます。

これは、PNGを正しくサポートするサファリの(更新された)画像です: alt text
(ソース: arc.net.au

GDでは、透明ピクセルを出力するために、さまざまなオプションのいずれか(直接または新しい画像を作成するときの画像タイプ)が必要です。

おそらく、32ビットではなく24ビットPNGとして保存してみてください。たぶん、PHP GDはそれをより良くサポートするでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top