(やりたい事)
・200x200等の正方形のjpeg画像から、内接する円形部分のみを取り出します。
・取り出した円形部分の周囲は、透過になるようなGIFを作成します。
・与えられる画像は、任意の画像です。(元の画像が円の特徴を持っているわけではない)
宜しくお願いします。
少し手間のかかるやり方ですが
という手順ではいかがでしょうか?
コマンドラインでの具体的な操作は以下のようになります。
元画像を「base.jpg」
あらかじめ円形にくりぬいておいた200×200のフレーム画像(中心部分が赤色の円、周囲は白)を「circle.gif」とすると、
convert -transparent red circle.gif circle_t.gif composite -gravity center circle_t.gif base.jpg circled.bmp convert -transparent white circled.bmp circled_t.gif
これで「circled_t.gif」として得られます。
少し手間のかかるやり方ですが
という手順ではいかがでしょうか?
コマンドラインでの具体的な操作は以下のようになります。
元画像を「base.jpg」
あらかじめ円形にくりぬいておいた200×200のフレーム画像(中心部分が赤色の円、周囲は白)を「circle.gif」とすると、
convert -transparent red circle.gif circle_t.gif composite -gravity center circle_t.gif base.jpg circled.bmp convert -transparent white circled.bmp circled_t.gif
これで「circled_t.gif」として得られます。
回答ありがとうございます。
早速試してみたのですが、フレームの色がbase.jpgに含まれる色の場合、円の内側にも透ける部分が出来てしまうと思うのですが、どうでしょか。
base.jpgに含まれない色が分かれば良いのですが・・・。
再回答もお待ちしています。
元画像の白まで透過されてしまうことに言及するのを忘れていました^^;
回答が複数回にわたってしまい、すみません。
この場合はさらに一手間加えて、^^;
というのはいかがでしょうか?
GIFは最大256色ですから、出力結果には白色の変化は現れません。
以下具体例
※限りなく白に近い色(例:RGB(254,255,255)など)で塗りつぶした200×200のbmp画像をnearwhite.bmpとします。
convert -transparent red circle.gif circle_t.gif convert -transparent white base.jpg base_t.gif composite base_t.gif nearwhilte.bmp base_w.bmp composite -gravity center circle_t.gif base_w.bmp circled.bmp convert -transparent white circled.bmp circled_t.gif
以上です。
色のうまい置換方法が見つからなかったので、かなり回りくどいですね^^;
回答ありがとうございます。
きちんと円の中は透過させないようにしようとすると、結構手間がかかりますね。
参考にさせていただきます。
画像の色を簡単に置き換える方法は,また後日探してみます.ありがとうございました.
回答ありがとうございます。
早速試してみたのですが、フレームの色がbase.jpgに含まれる色の場合、円の内側にも透ける部分が出来てしまうと思うのですが、どうでしょか。
base.jpgに含まれない色が分かれば良いのですが・・・。
再回答もお待ちしています。