2010-08-10 4 views
2

카메라로 찍은 여러 장의 사진을 찍어 하나의 거대한 이미지로 병합 할 수있는 Android 애플리케이션을 만들려고합니다. 예를 들어 세 장의 사진을 하나의 이미지로 출력하기 위해 세로로 배열 할 수 있습니다. 이상적으로는 이미지를 원래 크기로 유지하고 싶습니다. 불행하게도 Bitmap.createBitmap()을 사용하면 OutOfMemoryException이 발생하기 전에 카메라 크기의 사진 한 장 크기에 근접합니다. 이것이 가능한가? 또는 사진을 단일 비트 맵으로 병합하기 전에 사진의 크기를 조정해야 할 필요가 있습니까?Android에서 어떻게 큰 비트 맵을 만들 수 있습니까?

답변

4

목표는 무엇입니까?

결합 된 이미지를 업로드하는 것이 목표라면 대부분의 Android 기기보다 CPU와 RAM이 약간 더 많기 때문에 결합 된 이미지를 업로드하도록하십시오.

결합 된 이미지를 표시하려는 경우 결합 된 이미지의 각 부분이 화면 크기보다 커지므로 이미지 조각을 타일로 처리하십시오. 결합하지 말고 필요에 따라 그립니다 사용자가 가상 ​​결합 된 이미지 공간 주위를 스크롤 할 때.

+0

특정 목표는 이미지를 하나로 결합한 다음 정상 공유 작업을 통해 공유하는 것입니다. 트위터에 게시하거나, 이메일로 보내거나, 결합 된 그림을 저장하는 것까지 포함될 수 있습니다. 프로젝트는 사진을 공유 할 때 여러 사진을 업로드하고 링크하거나 (예 : 플리커) 사진 세트를 만들지 않기 때문에 시작되었습니다. 이 응용 프로그램을위한 서버가 없습니다. 화면 표시와 관련한 팁은 우리가하고자하는 것에 집중하고 있습니다. –

+1

@ nEx.Software : "구체적인 목표는 이미지를 하나의 이미지로 결합한 다음 정상적인 공유 작업을 통해 공유하는 것입니다." - 네가 상처 입은 것 같아. 어쩌면 JPEG 파일을 작업하고 NDK를 사용하여 C/C++에서 함께 사용할 수있는 저급 RAM 타사 라이브러리가있을 수 있습니다. 'BitmapFactory'와'Bitmap'은 RAM에 이미지를 갖고 싶습니다.이 경우에는 필요하지 않으며 어떤 경우에도 감당할 수 없습니다. – CommonsWare

+0

당신이 그렇게 말할 까봐 두려웠습니다. 통찰력있는 답변 주셔서 감사합니다. –

관련 문제