gpt4 book ai didi

java - 图像旋转时字符串抗锯齿不起作用

转载 作者:行者123 更新时间:2023-12-01 13:28:03 38 4
gpt4 key购买 nike

我在 Java 中的字符串抗锯齿方面遇到一些问题。如果我使用这段代码

g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

在正常情况下(不是旋转字符串),一切都很好。但是,当我尝试在旋转图像上使用抗锯齿功能时,我在其中绘制字符串 - 该字符串渲染没有抗锯齿功能。

这是我的代码示例,其中抗锯齿不起作用:

Graphics2D g = originalImage.createGraphics();

AffineTransform affineTransform2 = new AffineTransform();
affineTransform2.setToIdentity();
affineTransform2.translate(125, 325);
affineTransform2.rotate(Math.toRadians(345));

BufferedImage positionImage = new BufferedImage(100, 40, BufferedImage.TYPE_INT_ARGB);
Graphics2D positionImageG2D = positionImage.createGraphics();
positionImageG2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
positionImageG2D.setFont(getFont(30f));
positionImageG2D.drawString("Some Text",100, 40);
positionImageG2D.dispose();

g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.drawImage(positionImage, affineTransform2, null);

最佳答案

您不会将文本绘制到 g(最后一行),因此您传递给 KEY_TEXT_ANTIALIASING 的任何值都不会产生任何效果。

您正在绘制带有已抗锯齿文本的旋转图像。尝试将 KEY_INTERPOLATION 设置为 VALUE_INTERPOLATION_BICUBICVALUE_INTERPOLATION_BILINEAR,这应该会影响图像的缩放和旋转。

您可以尝试的另一件事是将文本(旋转)直接绘制到 g 上,而不使用临时图像。应该也可以,但您可能必须调整相对于旋转的位置。

关于java - 图像旋转时字符串抗锯齿不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21700334/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com