透過GIFのフォアグランド色を変更したい

 JAVA標準ライブラリのみで変えたい
 フォアグランド色は、1色です

具体的には
文字1文字の透過GIFが有ります
現在の文字色:黄色を緑色に変えたい
これをJAVAの標準ライブラリのみで行う方法を教えて下さい

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2011/06/09 11:19:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:TransFreeBSD No.1

回答回数668ベストアンサー獲得回数268

ポイント300pt

環境がないので確認していませんが、http://q.hatena.ne.jp/1307353699 の回答の http://d.hatena.ne.jp/tarumnk/20110606 がうまく動くのであれば

gif.convertImage("D:/test.gif", "D:/test_a.gif", Color.WHITE);

gif.convertImage("D:/test.gif", "D:/test_a.gif", Color.GREEN);

if (img.getRGB(x, y) == t) img.setRGB(x, y, 0);

if (img.getRGB(x, y) != 0) img.setRGB(x, y, t);

とすれば、透明色以外がすべて緑になると思うのですが。

  • id:gin106
    これは確かに上手く行きました
    有難う御座いました!

    しかし、どうやら通常のGIFを透過化+減色する際の方法(設定)で何かしらのパラメータに影響があり、これが動作に影響を与えているようです
    これから、調査してみます
  • id:TransFreeBSD
    環境整えてやってみました。
    どうやらパレットの問題のようで、元のパレット次第で変わってくるようです。
    本当はパレットのデータを書き換えるだけで、1ピクセル毎に走査しなくても出来ると思うのですが、良く分かりません出した。
    とりあえずご参考になれば。
    http://freebsd.g.hatena.ne.jp/TransFreeBSD/00000000/p1

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません