Android Bitmap.createBitmap只接受一种分辨率

Android Bitmap.createBitmap只接受一种分辨率,android,bitmap,Android,Bitmap,我对Android编程有点陌生,所以也许我遗漏了一些东西。在我的代码中,我试图通过调用bitmap.createBitmap(W,H,bitmap.Config.ARGB_8888)来创建新位图。对于除640x480以外的任何W和H,它返回大小为(-1,-1)的位图。是否有任何原因允许我只创建固定大小的位图?如果您执行bitmap.createBitmap(W,H,bitmap.Config.ARGB_8888)操作,则它将创建“具有指定宽度和高度的可变位图。其初始密度为getDensity()

我对Android编程有点陌生,所以也许我遗漏了一些东西。在我的代码中,我试图通过调用
bitmap.createBitmap(W,H,bitmap.Config.ARGB_8888)
来创建新位图。对于除
640x480
以外的任何
W
H
,它返回大小为
(-1,-1)
的位图。是否有任何原因允许我只创建固定大小的位图?

如果您执行
bitmap.createBitmap(W,H,bitmap.Config.ARGB_8888)
操作,则它将创建“具有指定宽度和高度的可变位图。其初始密度为getDensity()”。可变位图是唯一可以修改的位图。因此,正如Habib提到的,您可以使用画布绘制位图。

使用convas绘制位图。您创建了一个空位图。您可以使用convas在其上绘制。您是否指定了任何布局参数?如果布局参数为wrap_content,则宽度和高度也可能为负数。我使用此位图作为已处理相机帧的目标。尽管如此,我不知道为什么创建640x480大小的位图可以正常工作(创建的对象大小相同),但使用任何其他数字都会导致创建无效的位图。