我想实现一个绘图工具与图层的支持。为每个图层创建一个WritableRaster。要显示画布,必须合并图层。什么是最有效的方式来做到这一点?我可以使用bufferedImage,设置栅格并使用alpha组合将每个图层绘制到Graphics上下文中。但是,在数据层面合并它然后绘制单个图像是否更好/更快?合并栅格
编辑: 我做了一些分析。这是我目前的做法是什么样子:
//tmp.getRaster().setRect(layer.getRaster()); // VERY slow
tmp.getRaster().setDataElements(0, 0, layer.getRaster()); //slow
g2.drawImage(tmp, 0, 0, scaledDim.width, scaledDim.height, null);
我用BufferedImages代替WritableRasters对于之前的每一层,也没有延迟明显。
我的下一步是缓存顶层和底层,所以只会绘制3张图片。这可能会解决问题。