【发布时间】:2012-11-27 10:59:16
【问题描述】:
使用 Bitmap.create(25, 25, Config.ARGB_8888) 创建位图
设置一个 alpha 值小于或等于 0xA9 的像素会导致该像素没有被设置为传入的内容。我读到另一个堆栈溢出问题,说 setHasAlpha(true),我在测试中这样做了——但是仍然没有解决问题。
这是我的 android 测试用例,显示了我的问题:
public void testSettingBitmaps() {
Bitmap bitmap = Bitmap.createBitmap(25, 25, Config.ARGB_8888);
bitmap.setHasAlpha(true);
int color = 0x00fefefe;
int x= 0;
int y = 0;
for(int alpha = 0xFF000000; alpha != 0x00000000; alpha = alpha - 0x01000000) {
int colorPlusAlpha = color + alpha;
bitmap.setPixel(x, y, colorPlusAlpha);
//
// This test succeeds if the bitmap let us set the pixel.
//
assertEquals(String.format("Current alpha value: %x, Expected pixel value: %x, Actual pixel value: %x", alpha, colorPlusAlpha, bitmap.getPixel(x, y)),
colorPlusAlpha, bitmap.getPixel(x, y));
}
}
此代码失败并显示以下输出:junit.framework.AssertionFailedError: Current alpha value: a9000000, Expected pixel value: a9fefefe, Actual pixel value: a9fdfdfd expected: but was:
【问题讨论】:
标签: android bitmap steganography