- - PR -
drawstringで文字を描画した時の背景について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-03-10 01:18
お世話になっております。
少々悩んでいる事がありまして、ご存知の方いらっしゃいましたらご教授下さいませ。 HTMLから <img src="test.jsp"> ↑こんな感じでJSPを呼び出して、文字を出力しています。 「test.jsp」 <%@ page language="java" contentType="image/jpeg; charset=Shift_JIS" %> <%@ page import="java.awt.*" %> <%@ page import="java.awt.image.*" %> <%@ page import="com.sun.image.codec.jpeg.*" %> <% response.setContentType( "image/jpeg" ) ; BufferedImage bimg = new BufferedImage(1000,1000dImgHeight,BufferedImage.TYPE_INT_RGB); Graphics2D g2 = bimg.createGraphics(); Font f = new Font( "Serif", Font.PLAIN, 12 ) ; g2.setFont( f ) ; g2.drawString("TEST",100,100) ; ServletOutputStream st = response.getOutputStream() ; JPEGCodec.createJPEGEncoder( st ).encode( bimg ) ; st.close(); g2.dispose(); %> この時、描画される文字の背景が、なんと言いますか ザラザラしたような感じになってしまいます。 フォントの高さと幅の範囲で背景が透明になっていない感じです。 画面で見る限りでは然程?気にならない程度なのですが 印刷した時は、背景が透明でないお陰でかなり文字がぼやけて見えてしまいます。 これを回避する方法というのはあるのでしょうか?。 致し方ない事なのでしょうか?。 宜しくお願い致します。 |
|
投稿日時: 2004-03-10 17:03
JPEG圧縮時に発生するにじみ現象ではないでしょうか?
別のエンコーディングを試すか、無圧縮JPEGにするとよさそうですが。 JAIライブラリを使用するようにしてはいかがでしょうか。 |
|
投稿日時: 2004-03-10 19:12
ありがとうございます。解決しました。
大分綺麗に描画されるようになりました。 それでもHTMLの文字に比べるとちょっと文字が太いのが気になりますが まったく同じようにするのは無理ですよね・・・。 なかなか圧縮率っていう発想に行かなくて 助かりました、ありがとうございます。 |
1
