从 Android.Graphics.Bitmap.GetPixels 获得的 RGB 值与 System.Drawing.Bitmap.GetPixel 略有不同
Posted
技术标签:
【中文标题】从 Android.Graphics.Bitmap.GetPixels 获得的 RGB 值与 System.Drawing.Bitmap.GetPixel 略有不同【英文标题】:RGB values obtained from Android.Graphics.Bitmap.GetPixels are slightly different from System.Drawing.Bitmap.GetPixel 【发布时间】:2015-03-30 20:36:18 【问题描述】:我正在尝试将 Windows 图像处理应用程序迁移到 android 应用程序。但是当我尝试从同一张 bmp 图片中获取 RGB 值时,我发现值略有变化。例如,一个像素的RGB值在windows app中是137、106、54,而在android app中,它们变为140、105、57。我在windows中获取RGB值的函数是System.Drawing.Bitmap。 GetPixel,在 android 应用程序中,它是 Android.Graphics.Bitmap.GetPixels。这两个函数的返回类型都是“颜色”类型,它定义了 ARGB 值。我用来测试应用程序的手机是运行 android 2.2.2 的旧手机。这个问题的原因是什么?我应该尝试更新版本的android吗?提前感谢所有 cmets。
【问题讨论】:
【参考方案1】:证明是安卓版本的问题。在我试用了新版本的手机后,RGB值完全匹配Windows系统下的值。我不应该用那部旧手机进行测试。希望这可以帮助遇到同样问题的其他人。
【讨论】:
以上是关于从 Android.Graphics.Bitmap.GetPixels 获得的 RGB 值与 System.Drawing.Bitmap.GetPixel 略有不同的主要内容,如果未能解决你的问题,请参考以下文章
NullPointerException:尝试调用虚拟方法“int android.graphics.Bitmap.getWidth()”
杰克逊没有为 android.graphics.Bitmap 找到合适的构造函数
Canvas: trying to use a recycled bitmap android.graphics.Bitmap@XXX
错误 - 尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getHeight()”
Android java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@
由 java.lang.NullPointerException 引起:尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getWidth()”