javafx图形输出质量

时间:2014-08-12 11:29:51

标签: canvas javafx

我正在使用JavaFX创建我的Android应用程序分数的预览图像。

然而,输出的质量不如我想的那么好,即边缘模糊。

以下是一个例子:

enter image description here

为了产生这个,我创建了一个具有特定大小的画布 -

Canvas cv = new Canvas(iWidth, iHeight);
然后我得到了自己的分数 -

score.draw(cv);

然后将图像写入jpeg文件 -

Image fxImage = cv.getJavaFxCanvas().snapshot(new SnapshotParameters(), null);
BufferedImage bufimg = SwingFXUtils.fromFXImage(fxImage, null);
BufferedImage bufImgRgb = new BufferedImage(bufimg.getWidth(), bufimg.getHeight(), BufferedImage.OPAQUE);

Graphics2D graphics = bufImgRgb.createGraphics();
graphics.drawImage(bufimg, 0, 0, null);
ImageIO.write(bufImgRgb, "jpg", new File(m_strDefaultOutputDir + "\\test.jpg"));
graphics.dispose();

我已搜索过,但无法看到有必要做些什么来增加绘制图像的清晰度。

要绘制文字,例如,我正在调用

graphicscontext.fillText(m_strText, x, y);

如果我添加对strokeText的调用,文本会变得臃肿,而且没有任何明显的清晰度改善。

使用

绘制线条
graphicscontext.strokeLine(fX1, fY1, fX2, fY2);

将笔划宽度设置为1并且线条仍然不清晰。

如何创建优质,高质量的图像生成?

0 个答案:

没有答案