0
我正在使用Batik库处理Java中的SVG文件。当我缩放它时,问题就会出现。我可以看到线条的像素。当然,这不应该发生,我应该能够放大至少约4000%,并保持平稳。在Java中缩放时看到SVG文件的像素
从扩展类中读取SVG文件,并使用覆盖绘画方法绘制它。首先,我将新缩放比例设置为AffineTransform变量,将其应用于方法的图形并使用super.paint()进行绘制。
我真的陷入困境,无法弄清楚问题所在。我使用的SVG文件没问题,我在Inkscape中打开它们,可以在没有显示像素的情况下进行缩放。请帮忙。
代码:
@Override
public void paint(Graphics g) {
try {
rad = (int)(radInit*zoom);
updateTransform();
Graphics2D g2d = (Graphics2D) g;
g2d.setTransform(transform);
super.paint(g);
paintElements(g2d);
} catch(NullPointerException nulle) {
// System.out.println("SVG not loaded yet");
}
}
private void updateTransform(){
transform = new AffineTransform();
transform.translate((-1)*zoom*centarX, (-1)*zoom*centarY);
transform.scale(zoom, zoom);
}
请张贴您代码的相关部分。否则,几乎不可能帮助你。 – Baz