我有一个256色的BuffereImage,我想在上面再画一个BuffereImage(
public BufferedImage filter(BufferedImage src) {
BufferedImage convertedImage = new BufferedImage(src.getWidth(), src.getHeight(), BufferedImage.TYPE_BYTE_INDEXED);
Graphics2D g2d = (Graphics2D) convertedImage.getGraphics();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
g2d.drawImage(src, 0, 0, null);
return convertedImage;
}
思想?
更新:
我解决了这个问题,一个像素一个像素地画出了新的图像,虽然速度不是很快,但效果很好。详见我的答案。
我通过逐像素绘制新图像解决了这个问题,这可能不是很快,但它可以工作:
public BufferedImage filter(BufferedImage src) {
BufferedImage convertedImage = new BufferedImage(src.getWidth(), src.getHeight(), BufferedImage.TYPE_BYTE_INDEXED);
for (int x = 0; x < src.getWidth(); x++) {
for (int y = 0; y < src.getHeight(); y++) {
convertedImage.setRGB(x, y, src.getRGB(x, y));
}
}
return convertedImage;
}
mimeType String - 要发送的缓冲区的mimeType data Buffer - 实际的Buffer内容
问题内容: 有没有一种方法可以使用BufferedReader读取ByteBuffer而不必先将其转换为String?我想读取相当大的ByteBuffer作为文本行,并且出于性能方面的考虑,我想避免将其写入磁盘。在ByteBuffer上调用toString不起作用,因为生成的String太大(它抛出java.lang.OutOfMemoryError:Java堆空间)。我本来以为API中会有一些东
环型缓冲区是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。 构造环型缓冲区 var ringBuffer = new RingBufferStream(); 函数原型 RingBufferStream(int capacity = 8192, bool exposable = true); 参数 描述 capacity 环状缓冲区的最大容量,为2的次方。如:传入12,则
我试图处理一个图像文件并将其作为图像对象返回,但是当我调用公共静态BufferedImage getImageFromArray(int[]data,int columns,int rows)时,我在下面的代码中得到了一个ArrayIndexOutOfBoundsException。 我将以下像素颜色存储到一个名为“data”的数组中: 我从如下所示的文本文件中解析了这一点: 我试图通过使用Buf
问题内容: python中有一个类型,但是我不知道该如何使用它。 在Python文档中,描述为: object参数必须是支持缓冲区调用接口的对象(例如字符串,数组和缓冲区)。将创建一个引用该对象参数的新缓冲区对象。缓冲区对象将从对象的开头(或指定的偏移量)开始是一个切片。切片将延伸到对象的末尾(或具有由size参数指定的长度)。 问题答案: 用法示例: 在这种情况下,缓冲区是一个子字符串,从位置6
嗨,为了保持向后兼容性,可以更改协议缓冲区中字段的数据类型吗。例如 旧消息 所以基本上我没有更改字段的标签号,也没有重命名它,但我更改了数据类型。那么这是向后兼容的吗?如果一个应用程序获得了一个用以前的模式创建的旧proto对象,它可以通过这个新模式创建的对象进行解析吗?