- PR -

HTMLをGIFファイルに保存

投稿者投稿内容
HARU
会議室デビュー日: 2003/08/20
投稿数: 7
投稿日時: 2003-10-08 13:38
現在、任意のHTML(画像なしのページ)の内容を
そのままGifファイルとして保存できるような
プログラムをjavaで作れないかと模索しております。
Gifの生成にはACMEのライブラリーが使えると思うのですが
HTMLの内容を、どういった方法でGifに流しこんだらよいか
検討がつきません(タグなどの扱い方など)。
詳しい方がいましたら、是非アドバイスをお願い致します。
びしばし
大ベテラン
会議室デビュー日: 2002/03/13
投稿数: 181
投稿日時: 2003-10-08 13:52
HTML を gif で保存って ???

よくわかりませんが、HTML をブラウザで表示したかのような状態を gif で保存、でしょうか ?
でしたら JEditorPane で HTML を表示させられるようにして、その paintComponent() で BufferedImage などへ描画させるのが手っ取り早そうです。
HARU
会議室デビュー日: 2003/08/20
投稿数: 7
投稿日時: 2003-10-08 14:12
すいません説明不足でした。
ブラウザで表示したような状態でGifに保存させる訳ではなく
あるディレクトリに保存してあるHTMLをGifに変換させたいという事です。
自分でも調べているのですが、宜しくお願いします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-10-08 15:25
引用:

ブラウザで表示したような状態でGifに保存させる訳ではなく
あるディレクトリに保存してあるHTMLをGifに変換させたいという事です。



これも結局、びしばしさんが述べられている方法を応用して、
JTextAreaにHTMLを表示可能にし(実際に表示する必要はない)、paintComponent()でBufferedImageに描画すればいいんじゃないの?
後はHTMLファイルの数だけ処理を繰り返す。

単に表示するのではなく、タグや要素で色分けしたいのであれば実現は難しそう(面倒そう)。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2003-10-08 17:26
[ LIB ] Alexandre Brilliant 氏、構文に応じたテキスト色を設定するライブラリ [ JSyntaxColor 1.2.1 ] リリース
http://www.japisoft.com/syntaxcolor
なども
HARU
会議室デビュー日: 2003/08/20
投稿数: 7
投稿日時: 2003-10-09 17:55
お返事有難うございます。
皆様からの書き込みを頼りに、色々とやっているのですが
paintComponent()でBufferedImageに描画するというのが分かりません。
色々とサイトを巡って、下記のような感じで試したのですが
真っ白なGifが生成されました。
分かる人から見れば、当然だし笑われる内容だとは思うのですが
本当にお手上げ状態になってしまったので
すいませんが、もう一度助けて下さい。

html = new JEditorPane("text/html","");

省略

Image img = html.createImage(width, height);
BufferedImage bimg
= new BufferedImage(size.width, size.height,BufferedImage.TYPE_INT_RGB);
Graphics g = bimg.getGraphics();
g.drawImage(img, 0, 0, size.width, size.height, null);
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-10-09 18:13
Component#createImage()メソッドは真っ白なイメージを作るだけです。
真っ白なイメージをコピーしたので真っ白なGIFが生成されたのでしょう。

paintComponent()メソッドは指定したGraphicsオブジェクトに描画するわけだから、
コード:
html = new JEditorPane("text/html","");

Image img = html.createImage(width, height); 
Graphics g = img.getGraphics();

html.paintComponent(g);


とでもすれば出来るのではないでしょうか。

確認したわけではないの、正しく構築されるかどうかは分かりません
HARU
会議室デビュー日: 2003/08/20
投稿数: 7
投稿日時: 2003-10-10 11:43
おはようございます
かずくんさんの書き込みを参考に
なんとか完成させる事ができました。
Gifファイルの出来栄えを見ても、そんなに変には
なってなかったので良かったです。
初心者的な質問に付き合って頂きありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)