我正在使用以下java代码进行facedetection作为我的project.iam的一部分得到一个奇怪的错误
BitmapFactory.Options BitmapFactoryOptionsbfo = new BitmapFactory.Options();
/*BitMapFactory-Creates Bitmap objects from various sources, including
* files, streams, and byte-arrays.
*/
BitmapFactoryOptionsbfo.inPreferredConfig = Bitmap.Config.RGB_565;
imageWidth = myBitmap.getWidth();
imageHeight = myBitmap.getHeight();
myFace = new FaceDetector.Face[numberOfFace];
myFaceDetect = new FaceDetector(imageWidth, imageHeight, numberOfFace);
numberOfFaceDetected = myFaceDetect.findFaces(myBitmap, myFace);
}
//i get error over there in R.drawable.pics
myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pics, BitmapFactoryOptionsbfo);
我应该在图片中给出pic文件的名称,但它一直给我一个错误 图片无法解析或不是字段。所以我将pic文件的名称设置为pic PS,它是drawable文件夹中的jpg文件。我还将单引号中的文件命名为'pic' - 它给了我无效的字符常量错误。
我也用双引号命名它但它仍然不起作用。我也把它命名为'pic.jpg'仍然不起作用
答案 0 :(得分:0)
您的代码中可能还有另一个名为“pics”的变量。
尝试将其保存在其他文件夹中,例如MyPics。并且以不同的方式命名图片,比如xyz1.jpg
在这种情况下,将该行写为:
myBitmap = BitmapFactory.decodeResource(getResources(), R.MyPics.xyz1, BitmapFactoryOptionsbfo);
另外,您是否将'myBitmap'初始化为位图图像?意思是,你是否包括这一行:
Bitmap myBitmap;
在执行图像读取之前,在代码中?
答案 1 :(得分:0)
请查看以下代码行:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config RGB_565;
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon,options);
让我知道它是否有效? 还要检查键入 R.drawable。
后出现的图像名称修改强>
如果您仍然无法从drawable访问图像,请将您的图像复制到pic.png到资产文件夹并使用以下代码访问它:
更新代码:
try {
InputStream bitmap=getAssets().open("icon.png");
Bitmap bit=BitmapFactory.decodeStream(bitmap);
img.setImageBitmap(bit);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}