在Java缩放时,查看SVG文件的像素



我使用蜡染库在Java中处理SVG文件。当我扩展它时,问题就会发生。我可以看到线条像素。当然,这不应该发生,我应该能够至少缩小约4000%并保持光滑度。

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);                      
}

需要什么是

this.setRenderingTransform(transform, true);

这样,看不到任何像素,或者更确切地说,一切都应该绘制。

最新更新