java - 在java中将int数组转换为bufferedImage

标签 java arrays bufferedimage fisheye

我想知道如何在 java 中将 int 数组构造成缓冲图像。我知道你可以通过执行以下操作在 java 中获取 int 数组

int[] srcpixels = ((DataBufferInt)in.getRaster().getDataBuffer()).getData();

但我不知道如何以其他方式做到这一点。我需要这个来将鱼眼效果应用于缓冲图像,我在这里找到了如何做http://popscan.blogspot.com/2012/04/fisheye-lens-equation-simple-fisheye.html但它只适用于 int 数组。请帮忙,谢谢。

最佳答案

使用 WritableRaster:

final int w = bitmap.getWidth();
final int h = bitmap.getHeight();

final WritableRaster wr = bitmap.getData();
int []data = wr.getPixels(0, 0, w, h, data);

// do processing here

wr.setPixels(0, 0, w, h, data); 

关于java - 在java中将int数组转换为bufferedImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14082417/

相关文章:

java - 如何加快我的 ArrayList 搜索速度?

java - 从图像 URI 获取 base64 字符串

arrays - 如何从 typescript 中的JSON中提取特定值

java - 找到数组中最小的整数,然后将其与第一个单元格交换

java - IKVM 中的缓冲图像

Java ImageWriter BufferedImage 到 GIF

opengl - LibGDX:将 BufferedImage 转换为纹理

java - 移除对象会导致卡住

java - 使用循环在 Java 中绘制等腰三角形

java - Java错误: reached end of file while parsing (Not typical)