我使用 BitmapFactory 从 sd 卡读取图像:
String myJpgPath = "/sdcard/yourdollar/img001.jpg";
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
Bitmap bm = BitmapFactory.decodeFile(myJpgPath, options);
如果我写:
Log.i("width and height: ", bm.getWidth() + " " + bm.getHeight());
我得到一个空指针异常。我试图扩展,Bitmap.createScaledBitmap()
但我得到了同样的错误。之后我正在处理位图,所以我希望最后有一个具有任何宽度或高度的位图,因为看起来我没有为位图提供参数。但是我无法缩放它,那么我怎样才能将这个图像作为一个宽度为 500 高度为 500 的位图呢?
***更新
buttonClick = (Button) findViewById(R.id.buttonClick);
buttonClick.setOnClickListener(new OnClickListener() {
public void onClick(View v) { // <5>
preview.camera.takePicture(shutterCallback, rawCallback, jpegCallback);
Intent intentstart = new Intent(CameraActivity.this, Intent2.class);
startActivity(intentstart);
}
});
好的,事情就是这样。此按钮使用相机拍照,然后更改活动。如果我这样做,应用程序没有时间创建,所以当我在第二个活动中使用它来读取它时,它会抛出 nullpointerexception。所以我变得棘手(也错了)并提出:
preview.camera.takePicture(shutterCallback, rawCallback, jpegCallback);
try {
Thread.sleep(1200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent intentstart = new Intent(CameraActivity.this, Intent2.class);
startActivity(intentstart);
所以它有 1.2 秒的时间来创建文件,然后更改活动。有什么方法可以检查文件是否创建?当然,如果它是真的,那么它应该改变活动。有什么建议吗?