我有一些代码,我以html格式获取一些文本,将其放入一个存储窗格中,并从中创建一个图像,如下所示:
String text = getMyText();
int height = getContentHeight(text);
int width = 850;
image = new BufferedImage(WIDTH, height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
JEditorPane jep = new JEditorPane();
jep.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE);
jep.setContentType("text/html");
jep.setFont(new Font(myFont));
jep.setSize(width, height);
jep.setText(text);
jep.print(graphics);
graphics.dispose();
String fileName = "myFileName" + ".extension";
File outputfile = new File(myPath + "/" + fileName );
ImageIO.write(image, "png", outputfile);
在我的html文本中有一些固定宽度的元素(如div或table等)之前,这种方法非常有效
因为我原来的宽度是固定在850像素,如果这个元素的宽度大于这个值,那么图像看起来像是被剪切了,这意味着你不能阅读某些文本。
有没有办法让文字不超过我的固定宽度?或者只是事先确保宽度在限制范围内的问题?
谢谢你的帮助
暂无答案!
目前还没有任何答案,快来回答吧!