2014-02-24 4 views
0

저는 GWT의 캔버스에 간단한 이미지를 그리는 데 어려움을 겪고 있습니다.GWT의 캔버스에 이미지를 그리려면 어떻게해야합니까?

public class BlahTest implements EntryPoint { 

    private final Images images = GWT.create(Images.class); 

    public void onModuleLoad() { 
     Canvas canvas = Canvas.createIfSupported(); 
     Context2d ctx = canvas.getContext2d(); 
     ctx.setFillStyle("blue"); 
     ctx.fillRect(10, 10, 30, 30); 
     Image img = new Image(images.pencil()); 
     ImageElement imgEl = ImageElement.as(img.getElement()); 
     canvas.getContext2d().drawImage(imgEl, 50, 50); 

     RootLayoutPanel rp = RootLayoutPanel.get(); 
     rp.add(canvas); 

    } 
} 

[이미지 인터페이스가 동일한 폴더에 Pencil.png으로, 다음과 같습니다 : 이미지가 단순히 그려지지 않습니다

public interface Images extends ClientBundle { 
    @Source("Pencil.png") 
    ImageResource pencil(); 

} 

여기 내 프로그램입니다. 또한 img.addLoadHandler()로 이미지가로드 될 때까지 기다렸다가 그려 보았습니다. 아직 그려지지 않았습니다 ....

어떤 제안이 있으십니까?

편집 : 아키가 지적한 바와 같이,이 때문에 GWT

의 버전 2.6 거의
+0

아마도이 문제는 https://code.google.com/p/google-web-toolkit/issues/detail?id=7403입니다. –

+0

아키라 맞습니다. GWT (2.6)의 새 버전을 다운로드했는데 이제는 제대로 작동합니다. 고맙습니다! – Mark

답변

0

당신은 고정 된 버그에 있었던 것으로 보인다. 그냥 이것을 대체하십시오

이미지 img = new Image (images.pencil()); = 새 이미지

이미지 IMG와

(images.pencil() getSafeUri().);

+0

이것은 2.4와 2.5 미만에서 나를 위해 일했습니다. – outellou

관련 문제