android– 使用getPixel()方法提取的巨大负值

android– 使用getPixel()方法提取的巨大负值,第1张

概述我正在开发一个图像处理应用程序的问题(新手在这里).我试图通过使用getPixel()方法提取特定像素的值.我虽然遇到了问题.我从这种方法得到的数字是一个巨大的负数,类似于-1298383.这是正常的吗?我该如何解决?谢谢.解决方法:我不是专家,但对我来说,看起来你得到的是十六进制值.也许你

我正在开发一个图像处理应用程序的问题(新手在这里).我试图通过使用getPixel()方法提取特定像素的值.

我虽然遇到了问题.我从这种方法得到的数字是一个巨大的负数,类似于-1298383.这是正常的吗?我该如何解决?

谢谢.

解决方法:

我不是专家,但对我来说,看起来你得到的是十六进制值.也许你想要一些像每个RGB层的值更容易理解的东西.

要将像素解压缩为RGB值,您应该执行以下 *** 作:

private short[][] red;private short[][] green;private short[][] blue; /**  * Map each intensity of an RGB colour into its respective colour channel */private voID unpackPixel(int pixel, int row, int col) {    red[row][col] = (short) ((pixel >> 16) & 0xFF);    green[row][col] = (short) ((pixel >> 8) & 0xFF);    blue[row][col] = (short) ((pixel >> 0) & 0xFF);}

在每个通道发生变化后,您可以将像素打包回来.

/**  * Create an RGB colour pixel. */private int packPixel(int red, int green, int blue) {    return (red << 16) | (green << 8) | blue;}

对不起,如果它不是你想要的.

总结

以上是内存溢出为你收集整理的android – 使用getPixel()方法提取的巨大负值全部内容,希望文章能够帮你解决android – 使用getPixel()方法提取的巨大负值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: https://outofmemory.cn/web/1118395.html

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

发表评论

登录后才能评论

评论列表(0条)

保存