【发布时间】:2013-02-09 12:17:12
【问题描述】:
我正在制作一个应用程序,它可以初始化相机,然后在拍照后,可以导入照片并让用户进一步绘制。
编码:
A 类:
public OnClickListener cameraButtonListener = new OnClickListener()
{
@Override
public void onClick(View v)
{
vibrate();
Toast.makeText(Doodlz.this, R.string.message_initalize_camera, Toast.LENGTH_SHORT).show();
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
};
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK)
{
Bitmap photo = (Bitmap) data.getExtras().get("data");
Bitmap photocopy = photo.copy(Bitmap.Config.ARGB_8888, true);
doodleView.get_camera_pic(photocopy);
}
}
涂鸦视图:
public void get_camera_pic (Bitmap photocopy)
{
// get screen dimension first
WindowManager wm = (WindowManager) context_new.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
final int screenWidth = display.getWidth();
final int screenHeight = display.getHeight();
bitmap = photocopy;
bitmap = Bitmap.createScaledBitmap(bitmap, screenWidth, screenHeight, true);
bitmapCanvas = new Canvas(bitmap);
invalidate(); // refresh the screen
}
问题:
可以使用相机成功拍摄照片并返回doodleView供用户使用。然而,由于导入的图像尺寸非常小,只有 缩略图大小! (不知道为什么),所以我厌倦了放大它,然后分辨率很差。
我的问题是,如何修改上面的代码,以便将拍摄的照片尺寸设置为适合屏幕的尺寸,并且返回的照片是屏幕的 1:1,而不是像缩略图一样? (最好适合 1:1 的屏幕,因为如果是作为原始照片尺寸导入,则照片尺寸会大于屏幕,然后需要按比例缩小并按不同的宽度和高度比扭曲以适合完整屏幕)
谢谢!!
【问题讨论】:
-
@323go:从这个开始:stackoverflow.com/questions/1910608/…
标签: android android-intent bitmap camera