내 앱에서 카메라를 사용하여 사진을 찍고 특정 이메일 주소로 사진을 이메일로 보냅니다. 이제 전자 메일로 찍은 사진의 실제 크기가 너비가 10cm, 높이가 8cm가되기를 바랍니다. 문서 당으로서x cm 너비와 y cm 높이의 비트 맵
final BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 2;
final ImageView thumbNail = (ImageView)findViewById(R.id.imageView3);
thumbNail.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// TODO Auto-generated method stub
thumbNail.setImageBitmap(Bitmap.createScaledBitmap (BitmapFactory.decodeFile(myPhoto.getPath(), opts), thumbNail.getWidth(), thumbNail.getHeight(), false));
}
});
: Java 파일의 뒷부분
<ImageView
android:id="@+id/imageView3"
android:layout_width="100mm"
android:layout_height="80mm"
android:src="@drawable/ic_launcher" />
2) :
1) 아래와 같이 XML에 이미지 뷰를 선언 다음 내가 시도 코드는 결과 비트 맵은 너비가 10cm이고 높이가 8cm 여야합니다. 하지만 XML 파일에는이 줄에 경고가 있습니다.
android:layout_width="100mm"
android:layout_height="80mm"
Avoid using "mm" as units (it does not work accurately on all devices); use "dp" instead.
그래서 내가해야 할 일에 대한 단서가 없습니다. 모든 장치에서 작동하는 솔루션을 제공해주십시오.
화면 크기가 작은 장치에 이미지가 어떻게 표시 되겠지만 경고 메시지는 무시해도됩니까? – WarrenFaith
무시할 수 있지만 일부 장치에서 작동하지 않으면 어떻게됩니까? 스크롤 뷰에 이미지 뷰를 표시하므로 스크롤 할 수 있습니다. 나는 사용자가 그것을 좋아하지 않을지도 모르지만 차원이 가장 중요하다는 것을 안다. 그 비트 맵을 원하는 차원으로 만들 수있는 다른 방법이 있습니까? 아니면 내 apporach가 괜찮다고 말하는가? – dora
밀도와 화면 해상도를 사용하여 cm/mm을 계산할 수 있습니다. 이 정보를 사용하여 화면의 크기를 알아야하며 너비/높이를 올바른 값으로 동적으로 설정할 수 있습니다. – WarrenFaith