2009年12月6日日曜日

画像を保存

やりたい事を整理してから取り組もうと思っている側から必要というものはこうも迫ってくるものなのでしょうか。

複数の画像を重ねて一枚の画像にして保存する方法をこれから探そうと思っています。
何をしたいかというと、単に画像に文字を入れてエフェクトして保存したいだけです。あとニコちゃんマークも入れたい。普通の例えばgimpで出来そうですし、実際できるのでしょうが、やりたい事とアプリが余りにもかけ離れていて、それだけやりたい人に自分がやり方を学んでさらに教えるというのがとても大変。

もっと簡単にgimpをカスタマイズできれば・・

本当にやりたいのは、写真にセリフを入れて、ちょっと加工して(グラデーションとかネオン効果とか陰を付けたりとか)、ニコちゃんマーク(他のアイコンっぽい画像)を貼って顔を隠して、だけなんですよ。webアプリでとっても良いのがあるのですが、フォントのサポートがない。だから日本語のフォントとかが使えない(使いたいのは手書きフォント)。

・・などと考えているとまた脱線してしまうので、やりたい事を整理してから、ということになるわけで、まあ本当にこの無限ループをどこかでどうにかして断ち切る必要がありますね・・。

2 件のコメント:

  1. 今のところJavaFXにはビットマップを扱うAPIがないので、JavaFXだけでこれをやるのは無理だと思います。
    Javaだと結構簡単なんですけどね。
    表示部分は省略するとして、イメージに文字書いて、保存するのはこんな感じです。

    BufferedImage image = ImageIO.read(....);
    Graphics g = image.getGraphics();
    g.drawString("Hello, World", 20, 20);
    g.dispose();
    ImageIO.write(image, "jpg", new File(...));

    返信削除
  2. skrbさん、ありがとうございます!

    いやあ素晴らしいですね、こんなに短くサクッと要点を示せるなんて。さすが伝道師様。

    やはりJavaですか。ちょうどブログ方面からそんな気配を感じてJDK6の嬉しい日本語ドキュメントから、ImageIO辺りを読みあさろうとページを開いたり閉じたりしていたところです:D。

    何とか新年書き初め会目指して、頂いたコードを胸に、JavaFXまで辿り着けるよう頑張ります。

    返信削除