2012-06-13 31 views

Trả lời

2

Bạn phải thêm MediaStore.EXTRA_OUTPUT vào mục đích. Ngoài ra, bạn phải chỉ định một Uri cho ảnh được lưu vào. Điều này sẽ lưu hình ảnh độ phân giải đầy đủ, nếu không, nó sẽ chỉ chụp một hình ảnh nhỏ.

Tham khảo các tài liệu Android: ACTION_IMAGE_CAPTURE

hành động Ý định tiêu chuẩn có thể được gửi đến có ứng dụng camera chụp ảnh và gửi lại. Người gọi có thể vượt qua thêm EXTRA_OUTPUT để kiểm soát nơi hình ảnh này sẽ được viết. Nếu không có EXTRA_OUTPUT thì một hình ảnh có kích thước nhỏ được trả về dưới dạng đối tượng Bitmap trong trường bổ sung. Điều này rất hữu ích cho các ứng dụng chỉ cần một hình ảnh nhỏ. Nếu EXTRA_OUTPUT là hiện nay, sau đó hình ảnh cỡ lớn sẽ được ghi vào giá trị Uri của EXTRA_OUTPUT

1

Bạn có thể sử dụng phương thức this để nhận tất cả kích thước ảnh được hỗ trợ.

public List<Camera.Size> getSupportedPictureSizes() 

Bạn sẽ nhận được List của kích thước hình ảnh được hỗ trợ. Và sau đó, bạn có thể đặt bất kỳ kích thước nào bạn muốn sử dụng phương thức this.

public void setPictureSize (int width, int height) 
+9

Anh ấy đang sử dụng phương thức Intent chứ không phải đối tượng Camera. Chú ý, phương thức này được gọi là openDefaultCameraApp() –

2

Tôi nghĩ rằng nó không thể nhìn thấy liên kết dưới đây:

Open Android Camera in lower resolution with ACTION_IMAGE_CAPTURE

Bạn phải tự thiết lập độ phân giải từ màn hình xem trước máy ảnh.

Nếu bạn đang nhận được snap nhỏ ngay cả khi độ phân giải máy ảnh của bạn được đặt ở mức cao thì hãy sử dụng phương pháp của Zed Scio.

Các vấn đề liên quan