首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PlayN中的像素级图形

PlayN中的像素级图形
EN

Stack Overflow用户
提问于 2012-05-06 19:44:41
回答 1查看 221关注 0票数 0

我想在一个主要目标是HTML5的PlayN游戏上做像素级的图形。但是,PlayN的Canvas对象不提供对CanvasPixelArray类、putImageDatagetImageData函数的访问。我担心对每个像素使用drawPoint会很慢;有没有更好的方法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-08 12:32:42

目前还没有针对PlayN的像素操作API。

如果只想以HTML5为目标,可以使用GWT方法创建和操作ImageData对象,然后通过我最近添加的转换图像的机制将这些对象注入到PlayN中。

代码语言:javascript
复制
// 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;
  }
});

这是一种黑客行为。在某种程度上,我将添加一种机制,用于获取和操作图像的像素数据,其速度与支持它的后端所希望的一样快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10470242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档