Отображение картинки на Canvas

Рейтинг: 2Ответов: 1Опубликовано: 06.07.2011

Надо отобразить иконку на Canvas. Использую метод:

drawImage(image, x1, y1, w1, h1, x1, y1, w1, h1);

Картинка задается как ресурс:

public interface Bundle extends ClientBundle {
  public static final Bundle ourInstance = GWT.create(Bundle.class);

  @ClientBundle.Source(value = {"icon.png"})
  public ImageResource icon();
}

В момент отрисовки каринка 100% загружена (был вызван onLoad). Но всё равно картинка не рисуется, падает исключение:

com.google.gwt.core.client.JavaScriptException: (INDEX_SIZE_ERR): INDEX_SIZE_ERR: DOM Exception 1 at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) at MyClassCanvas.drawImage(MyClassCanvas.java)

Ответы

▲ 1Принят

Измените

Image img = new Image(Bundle.ourInstance.icon())

на

Image img = new Image(Bundle.ourInstance.icon().getURL)