Tôi đang viết một ứng dụng Android nhỏ nơi người dùng có thể đặt hình ảnh bên trong bản xem trước trực tiếp của máy ảnh và chụp một bức ảnh về điều này. Các ứng dụng sau đó sẽ kết hợp hai hình ảnh một cách thích hợp - Tất cả điều này là làm việc tốt.Android xử lý sự khác biệt giữa kích thước/tỷ lệ xem trước và kích thước SufaceView thực tế như thế nào?
Tôi hiểu rằng bạn có thể nhận/đặt PreviewSize bằng Camera.getParameters(), tôi cho rằng điều này có liên quan đến kích thước của "nguồn cấp dữ liệu máy ảnh" trong thời gian thực.
Tuy nhiên, kích thước của SurfaceView của tôi nơi xem trước máy ảnh được hiển thị khác với báo cáo (và sử dụng) PreviewSizes được báo cáo. Ví dụ, trong trình giả lập SurfaceView có sẵn của tôi xảy ra là 360x215, trong khi PreviewSize là 320x240. Tuy nhiên, toàn bộ SurfaceView được lấp đầy với bản xem trước.
Nhưng hình ảnh được tạo ra cuối cùng là (cũng?) 320x240. Làm cách nào để android bù đắp cho những khác biệt về kích thước và tỷ lệ co? Hình ảnh có bị cắt ngắn không? Hoặc tôi chỉ đơn giản là hiểu lầm những gì PreviewSize là về - là điều này liên quan đến kích thước của các hình ảnh được tạo ra, hoặc là nó liên quan đến "xem trước thời gian thực" đó là dự trên SurfaceView? Không. Có bất kỳ ví dụ máy ảnh không tầm thường nào đối phó với điều này không?
Tôi cần biết cách chuyển đổi diễn ra, cuối cùng, sao chép/chia tỷ lệ hình ảnh chính xác thành ảnh, do đó, những câu hỏi này.
Bạn có thể muốn xem câu trả lời của tôi cho chính mình cho một câu hỏi tương tự: http://stackoverflow.com/a/18159351/994834 – goto10