List of usage examples for com.google.gwt.corp.gfx.client.canvas CanvasRenderingContext2D drawImage
public final native void drawImage(ImageElement image, float dx, float dy) ;
From source file:jake2.gwt.client.GwtWebGLRenderer.java
License:Open Source License
public void setPicDataLowLevel(image_t image, ImageElement img) { CanvasElement canvas = (CanvasElement) Document.get().createElement("canvas"); int w = img.getWidth(); int h = img.getHeight(); canvas.setWidth(w);//from w w w .j a va 2 s . com 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); } GL_SetPicData(image, pic, w, h, 32); }