java 怎么提取Image对象的像素数据

java 怎么提取Image对象的像素数据,第1张

这个是一段透明化处理的代码,里面有获取像素的代码存在!希望对你有所帮助!

pixels将是像素,int pixels[] = (int[]) pgrgetPixels();这里将写入到数组中了!

/

使中的某一种颜色透明

@param image

Image

@param RGB16

String 十六进制的六位颜色值字符串

@param isFiltrate

boolean

@return Image

/

public static Image setTranImage(Image image, String RGB16,

boolean isFiltrate)

{

int width = imagegetWidth(null);

int height = imagegetHeight(null);

Image abufferedimage = new BufferedImage(width, height, 2);

Graphics g = abufferedimagegetGraphics();

gdrawImage(image, 0, 0, width, height, 0, 0, width, height, null);

gdispose();

// 透明化处理

PixelGrabber pgr = new PixelGrabber(abufferedimage, 0, 0, -1, -1, true);

try

{

pgrgrabPixels();

}

catch (InterruptedException ex)

{

exgetStackTrace();

}

int pixels[] = (int[]) pgrgetPixels();

if (isFiltrate && RGB16length() == 6)

{

// 循环像素

for (int i = 0; i < pixelslength; i++)

{

// 去色

if (((pixels[i] & 0x00ff0000) >> 16 == IntegerparseInt(

RGB16substring(0, 2), 16)

&& (pixels[i] & 0x0000ff00) >> 8 == IntegerparseInt(

RGB16substring(2, 4), 16) && (pixels[i] & 0x000000ff) == Integer

parseInt(RGB16substring(4, 6), 16)))

{

// 透明化

pixels[i] = 0;

}

}

}

ImageProducer ip = new MemoryImageSource(pgrgetWidth(),

pgrgetHeight(), pixels, 0, pgrgetWidth());

return toolkitcreateImage(ip);

}

可以使用的有: cover-view 、 cover-image , button , <ad> , <navigator> ,其他的一律不显示

意思就是要么设置四周的边框,要么就不显示,单独使用 border-left , border-right , border-top , border-bottom 都不会显示,那么问题来了,如果要绘制类似于表格的东西,单元格之间边框肯定会很粗,这就需要单独设置某一条边的边框,这恰恰是 cover-view 不支持的,例如:

微信开发者工具上看好的很:

然而我们再来看看真机上:

Android上同样不显示

有问题就要解决啊,于是又弄了这么个解决办法:所谓边框就是4条线吧,那我们手动创建这四条线:

开发工具上完全符合我的需求啊,当时就乐的不行,感觉自己是个天才,而且ios上也好的很,可是,偏偏Android让人头疼:

cover-view 的定位还是有点问题,遇到这样子的也真是无解了

正常应该是这样的:

但就是因为用了 cover-view ,才出现这个样子:

在子节点溢出父节点后,溢出部分就被吃掉了,这种情况只在 cover-view/cover-image 出现,只能把超出的那个 cover-view 提到上一层去了,但是这又会掉到新的坑里去了,这里很明显有个层级问题

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9868880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存