1
我在Java中创建图像切片,并要求创建非常大的文本(字体大小超过200,000 ...)但是,似乎当字体大小超过某个阈值时,Java中的图形引擎(JDK1.6.0 .18)不再正确绘制字符串。 在我的Win7/64环境中,似乎我只能打印高达27915像素大小的海尔维卡字符。Java Graphics2D有最大字体大小吗?
有没有办法解决这个问题?我如何绘制这么大的字符?难道我做错了什么?这是一个已知的限制吗?
一个样本应用程序:
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import com.sun.image.codec.jpeg.*;
public class FontTest {
public static void main(String[] args) throws Exception {
BufferedImage image = new BufferedImage(1000,1000,BufferedImage.TYPE_INT_RGB);
Graphics2D g = Zoomer.getGraphics(image);
int fontsize = 27916;
Font font = new Font("Helvetica",Font.PLAIN,fontsize);
g.setFont(font);
g.setColor(Color.YELLOW);
g.drawString("Z", 5, 990);
JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(new FileOutputStream(new File("image."+fontsize+".jpg"),false));
JPEGEncodeParam param = jpeg.getDefaultJPEGEncodeParam(image);
jpeg.encode(image);
System.out.println("Ready with fontsize:"+fontsize);
}
任何图像高达27915显示正确的Z的左底部部分,但对27915或更高时,它显示它向后不知。错了图像的
样品(用黄色的左侧I/O右:?。size=27,916 JDK版本是否使用的是
我正在使用JDK1.6(64b) – Anne 2011-01-20 14:30:01