List of usage examples for com.google.gwt.html5.client CanvasRenderingContext2D drawImage
public final native void drawImage(ImageElement image, float dx, float dy) ;
From source file:com.googlecode.gwtquake.client.GwtWebGLRenderer.java
License:Open Source License
public void setPicDataLowLevel(Image image, ImageElement img) { CanvasElement canvas = (CanvasElement) Document.get().createElement("canvas"); int w = img.getWidth(); int h = img.getHeight(); canvas.setWidth(w);//from w ww. j a v a 2 s.c o m canvas.setHeight(h); // canvas.getStyle().setProperty("border", "solid 1px green"); canvas.getStyle().setDisplay(Display.NONE); Document.get().getBody().appendChild(canvas); CanvasRenderingContext2D ctx = canvas.getContext2D(); ctx.drawImage(img, 0, 0); ImageData data = ctx.getImageData(0, 0, w, h); CanvasPixelArray pixels = data.getData(); int count = w * h * 4; byte[] pic = new byte[count]; for (int i = 0; i < count; i += 4) { pic[i + 3] = (byte) pixels.get(i + 3); // alpha, then bgr pic[i + 2] = (byte) pixels.get(i + 2); pic[i + 1] = (byte) pixels.get(i + 1); pic[i] = (byte) pixels.get(i); } image.setData(pic, w, h, 32); }