【问题标题】:Convert int array into bufferedImage in java在java中将int数组转换为bufferedImage
【发布时间】:2012-12-14 11:32:15
【问题描述】:

我想知道如何将 java 中的 int 数组构造成缓冲图像。我知道你可以通过

在 java 中得到一个 int 数组
int[] srcpixels = ((DataBufferInt)in.getRaster().getDataBuffer()).getData();

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

【问题讨论】:

  • 没有setRaster()-method吗?

标签: java arrays bufferedimage fisheye


【解决方案1】:

使用 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); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2012-12-30
    相关资源
    最近更新 更多