2012-05-06 31 views

回答

1

目前PlayN没有像素操作API。

如果您只想定位HTML5,您可以使用GWT方法来创建和操作ImageData对象,然后通过最近添加的用于转换图像的机制将它们注入到PlayN中。

// use this canvas and context to create as many image data objects as you want 
CanvasElement canvas = Document.get().createElement("canvas").<CanvasElement>cast(); 
Context2d ctx = canvas.getContext2d(); 
final ImageData data = ctx.createImageData(width, height); 
// push those pixels 

// use this PlayN image as a factory for creating PlayN images from your ImageData objects 
CanvasImage image = PlayN.graphics().createImage(1, 1); // dummy image 
Image pixelImage = image.transform(new HtmlBitmapTransformer() { 
    public ImageElement transform(ImageElement elem) { 
    // we ignore the element passed in and just create a new CanvasElement 
    // and draw our bitmap data on it 
    CanvasElement canvas = Document.get().createElement("canvas").<CanvasElement>cast(); 
    canvas.setWidth(width); 
    canvas.setHeight(height); 
    canvas.getContext2d().putImageData(data, 0, 0); 
    return canvas; 
    } 
}); 

这有点破解。在某些时候,我会添加一种机制来获取和处理图像的像素数据,这种数据的速度与希望支持它的后端速度一样快。

+0

是的,我从香草GWT切换到PlayN,因为我需要Java目标来快速开发,无论如何。 – funkybro