- PR -

drawstringで文字を描画した時の背景について

1
投稿者投稿内容
すず
常連さん
会議室デビュー日: 2003/04/17
投稿数: 30
投稿日時: 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/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2004-03-10 17:03
JPEG圧縮時に発生するにじみ現象ではないでしょうか?
別のエンコーディングを試すか、無圧縮JPEGにするとよさそうですが。
JAIライブラリを使用するようにしてはいかがでしょうか。
すず
常連さん
会議室デビュー日: 2003/04/17
投稿数: 30
投稿日時: 2004-03-10 19:12
ありがとうございます。解決しました。
大分綺麗に描画されるようになりました。

それでもHTMLの文字に比べるとちょっと文字が太いのが気になりますが
まったく同じようにするのは無理ですよね・・・。

なかなか圧縮率っていう発想に行かなくて
助かりました、ありがとうございます。
1

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