Example usage for com.google.gwt.html5.client CanvasElement getStyle

List of usage examples for com.google.gwt.html5.client CanvasElement getStyle

Introduction

In this page you can find the example usage for com.google.gwt.html5.client CanvasElement getStyle.

Prototype

@Override
    public Style getStyle() 

Source Link

Usage

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);//  w w  w.  j a v  a 2 s.c  om
    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);
}