2012-10-18 3 views
0

Batik 라이브러리를 사용하여 Java에서 SVG 파일을 처리하고 있습니다. 문제는 내가 규모를 조정할 때 발생합니다. 선의 픽셀을 볼 수 있습니다. 물론 이것은 일어나지 않아야합니다. 적어도 약 4000 %는 확대하고 부드러움을 유지할 수 있어야합니다.Java에서 스케일링 할 때 SVG 파일의 픽셀보기

SVG 파일은 확장 클래스에서 읽어 들여 오버라이드 페인트 메서드에서 그립니다. 먼저 새로운 스케일을 AffineTransform 변수로 설정하고이를 메소드의 그래픽에 적용하고 super.paint()를 사용하여 페인트합니다.

저는 정말로 붙어있어 문제를 파악할 수 없습니다. 사용중인 SVG 파일은 괜찮습니다. 잉크 스케이프에서 열었고 픽셀이 표시되지 않고 확대/축소 할 수있었습니다. 도와주세요.

코드 : 필요했다 무엇

@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);      
} 
+0

코드의 관련 부분을 게시하십시오. 그렇지 않으면 당신을 도울 수 없을 것입니다. – Baz

답변

0

에는 픽셀이 볼 수 없습니다이 방법

this.setRenderingTransform(transform, true); 

않았거나 그것이 있어야로 오히려 모든 그렸다.

관련 문제