DOBON.NETプログラミング道掲示板
(現在 過去ログ2 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
親記事をトピックトップへ
]
このトピックに書きこむ
過去ログには書き込み不可
[ トピック内全4記事(1-4 表示) ] <<
0
>>
■33410
/ inTopicNo.1)
Re[2]: 背景が透明のアニメGIFを作成したい
▼
■
□投稿者/ gif素人
一般人(2回)-(2016/07/02(Sat) 20:38:57)
■
No33408
に返信(Hongliangさんの記事)
> // 仕様をチラ見しただけだけど
> http://www.snap-tck.com/room03/c02/cg/cg04_02.html
> グラフィック制御拡張ブロックの表示処理パラメータ、つまり背景透明フラグを含むバイトですが、ここの4-2ビット目のDisposableMethodを3辺りにすればGIFファイル的にはいいかも。
教えて頂いた方法で期待通りの透明GIFができました。
IE11などのブラウザで正常に表示できました。
的確な情報、大変ありがとうございました。助かりました。
引用返信
削除キー/
編集
削除
■33409
/ inTopicNo.2)
Re[1]: 背景が透明のアニメGIFを作成したい
▲
▼
■
□投稿者/ Azulean
大御所(469回)-(2016/07/02(Sat) 19:40:16)
2016/07/02(Sat) 19:49:49 編集(投稿者)
■
No33407
に返信(gif素人さんの記事)
> 10枚の透明PNG画像を読み込んで背景が透明のアニメGIFを作成しました。
> しかし、そのアニメGIFを表示させてみると、各フレームの画像が重ね書きされてしまいます。
ロジックを読むと見えてくるかもしれませんが、作成処理は 1 枚ずつ gif にしているだけなので、重ね書きになる要素はなさそうです。
実際、透過しなければ黒になるということからも、作成時点で重なっているという説は否定できそうです。
この 2 点を踏まえると、次の 2 通りの予想ができます。
1.再生側が透明なところを重ねていくような実装になっている
2.今回着目した点以外の箇所にファイルフォーマット上の特性がある
2についてはファイルフォーマットのアニメ GIF 独自の書き込みをしている箇所のコメントを見る限り、そういった操作をできる部分はありませんので、可能性は低いとみるべきでしょう。
よって、1の可能性が出てくるわけですが、何で再生しているのでしょうか?
そして、その再生しているソフト、方法は別のアニメ GIF 対応ソフトで透過させた場合はきちんと透過するのでしょうか?
-----(追記)
Hongliang さんが挙げている情報ベースで試された方が良さそうです…。orz
この場合だと、bs[3] は 0x01 じゃなくて、0x05 か 0x09?
引用返信
削除キー/
編集
削除
■33408
/ inTopicNo.3)
Re[1]: 背景が透明のアニメGIFを作成したい
▲
▼
■
□投稿者/ Hongliang
大御所(517回)-(2016/07/02(Sat) 19:35:33)
// 仕様をチラ見しただけだけど
http://www.snap-tck.com/room03/c02/cg/cg04_02.html
グラフィック制御拡張ブロックの表示処理パラメータ、つまり背景透明フラグを含むバイトですが、ここの4-2ビット目のDisposableMethodを3辺りにすればGIFファイル的にはいいかも。
まあ、この値をどう扱うかは表示するアプリケーション次第なんですけど。
引用返信
削除キー/
編集
削除
■33407
/ inTopicNo.4)
背景が透明のアニメGIFを作成したい
▲
▼
■
□投稿者/ gif素人
一般人(1回)-(2016/07/02(Sat) 19:15:11)
環境/言語:[Windows7]
分類:[.NET]
こんにちは。
このページの
GIFアニメーションを作成する
http://dobon.net/vb/dotnet/graphics/createanimatedgif.html
この関数を利用させて頂いて、
public static void SaveAnimatedGif(string fileName,
Bitmap[] baseImages, UInt16 delayTime, UInt16 loopCount)
10枚の透明PNG画像を読み込んで背景が透明のアニメGIFを作成しました。
しかし、そのアニメGIFを表示させてみると、各フレームの画像が重ね書きされてしまいます。
一方、
//詰め込み欄 透過色指標を使う時は1
bs[3] = 0x00;
の設定で背景を透明にしない場合には背景色が黒いアニメGIFが出来ました。
これだと表示しても重ね書きのような症状は起こらずにアニメが期待した動きをします。
私としては、背景が透明なアニメGIFを作りたいのですが、前者の場合ですと全部の画像が重ね書きされてしまいますし、後者ですと背景が黒く透明になりません。
冒頭で参考にさせて頂いている記事の手法では、背景が透明な普通の(重ね書きの起こらない)アニメGIFを作成する事は出来ませんか?
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-