人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在image::magickを用いて透過gifのチェックを以下のようにしています。
if ($obj->Get("type") eq 'PaletteMatte' ) {

}
この場合全てのpixelを確認したとところ、透過箇所がないにもかかわらず、
透過であると判定されることがあります。
gifの処理や仕様に詳しくないためもし理由をご存じの方がいたら教えて下さい。

またその理由を修正する方法がimagemagickやその他ありましたらsampleやurlを教えていただけると助かります。

●質問者: studio2021
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●300ポイント ベストアンサー

透過GIF かどうかを判定する基準は、Transparent Color Flag がオンになっているかどうかで判定されていると思います。

実際にTransparent Color Index で指定された色が画像内で使用されていなければ、非透過のGIFと見た目は変わりません。

http://www.tohoho-web.com/wwwgif.htm#TransparentGIF


ですから、透過でないようにしたい場合は、保存時に透過・非透過を指定できるようなグラフィックツールを使用すればできると思います。

下記で紹介されている IrfanView は GIF保存時に透過にするかどうかのチェックボックスがあります。

http://www.animegif.net/animegif/pict-makegif.html

20110912073830


見た目が同じなら変更しなくてもよいというのも選択肢の一つだと思いますが、コマンドで一括でやるのであれば、ImageMagic の convert で

GIF ⇒ GIF

で変換するか、あるいはそれができなければ、一度透過情報を落としてから

GIF ⇒ BMP ⇒ GIF

のように変換したらできないでしょうか。


http://aoi-f.blog.so-net.ne.jp/2010-09-03

で透過を指定する例がありますが、指定しなければ透過GIFにはならない気がします。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ