你看到了吗?
每个房子的每块砖都是16x16像素的图像。
你可以在这里看到一个基于简单JavaFX的版本,一些Imageview
在X和Y上移动以产生“构造”的效果。
我只是使用Swing
将其修改为paintComponent
。
问题:
- 使用JavaFX:我的电脑有问题。您在图片上看到的内容需要2秒才能加载,然后移动速度非常慢且不稳定。
- 使用Swing
:我不知道如何根据亮度,阴影等来调整每个块。所以它看起来像这样:
我应该选择哪种方法?两者都有很大的缺点。我本来希望保留JavaFX方法,但也想找到除Imageview
之外的其他东西。这应该不是一个好主意。
答案 0 :(得分:1)
在图像被绘制之前修改模糊/亮度等等
我自己没有使用它,但这里有一个提示 - 使用Swing / AWT Kernel + ConvolveOp机制:http://www.java-tips.org/java-se-tips/java.awt.image/styling-digital-images-with-convolveop.html
BufferedImage biSrc = ...
BufferedImage biDest = ...
float[] data = new float[] { 0.0625f, 0.125f, 0.0625f, 0.125f, 0.25f, 0.125f, 0.0625f, 0.125f, 0.0625f };
Kernel kernel = new Kernel(3, 3, data);
ConvolveOp convolve = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);
convolve.filter(biSrc, biDest);
操作通过3x3矩阵(数据)定义。你可以搜索brigthness,blur等的例子。
图片需要2秒才能加载,但在
之后移动非常缓慢和生涩
使用Dirty Rectangles算法:Dirty Rectangles