30
所有颜色的图像
类似于allrgb.com上的图像,制作每个像素都是唯一颜色的图像(两次不使用颜色,并且不丢失任何颜色)。 提供一个生成此类图像的程序,以及输出的屏幕截图或文件(以PNG格式上传)。 纯粹通过算法创建图像。 图片必须为256×128(或可以截图并保存为256×128的网格) 使用所有15位颜色* 不允许外部输入(也不允许网络查询,URL或数据库) 不允许嵌入图像(可以是源图像的图像,例如 Piet) 允许抖动 这不是一场简短的代码竞赛,尽管它可能会赢得您的投票。 如果您真的很想挑战,请执行512×512、2048×1024或4096×4096(以3位为增量)。 计票方式为投票。投票选出最优雅的代码和/或有趣的算法所制作的最美丽的图像。 当然可以采用两步算法,首先生成漂亮的图像,然后将所有像素调整为一种可用的颜色,但不会赢得您的优雅。 * 15位颜色是32768种颜色,可以通过以相等的距离和相等的范围混合32个红色,32个绿色和32个蓝色来制成。示例:在24位图像(每通道8位)中,每通道的范围是0..255(或0..224),因此将其分成32个等距的阴影。 非常清楚,图像像素的数组应该是一个排列,因为所有可能的图像都具有相同的颜色,只是在不同的像素位置。我将在这里给出一个琐碎的排列,它一点也不漂亮: Java 7 import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; public class FifteenBitColors { public static void main(String[] args) { BufferedImage img = new BufferedImage(256, 128, BufferedImage.TYPE_INT_RGB); // Generate algorithmically. …