Android的:不能创建createBitmap方法的位图

我是相当新的Andr​​oid平台上的节目。 我有一些问题按摩int数组把它变成一个位图。

整型阵列中的每个元素是一个从0到255,并且表示灰度像素的颜色(所以0是黑色,255是白色的,等等)。 这里是我的代码:

int nPixels = 262144; int width = 512; int height = 512; int[] converted = new int[nPixels]; int alpha = 255; for (int i = 0; i < nPixels; i++) { //greyscale, so all r, g, and b have the same value converted[i] = (alpha << 24) | (pixels[i] << 16) | (pixels[i] << 8) | pixels[i]; } Bitmap bm = Bitmap.createBitmap(converted, width, height, Bitmap.Config.ARGB_8888);

所得位图具有高度和-1宽度,这表明createBitmap功能不工作。 什么是错我的方法?

哦,我把转化部分从在进行颜色 http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CreateBitmap.html.

编辑:认为它可能已经因为阿尔法是256而不是255,但我仍然得到同样的错误。

--------------解决方案-------------

你怎么知道你的位图有[-1 -1]大小? 要获取大小,使用:

int w = bm.getWidth();
int h = bm.getHeight();

这是工作的罚款。

我不知道你是否可以从int数组直接创建位图。 可能需要通过位图的象素进行迭代,并设置从使用位图的setPixel方法阵列的像素值。

bitmap.setPixel (int x, int y, int color)

分类:安卓 时间:2015-03-15 人气:0
本文关键词: 图形,位图,机器人
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.920 (s). 10 q(s)