java 그림 크기 조정 전체 화면 채우기
현재 다음과 같은 요구가 있습니다. 그림 한 장의 폭을 전체 화면으로 가득 채우고 표시합니다.
우리가 자주 하는 것은 아마도 다음과 같은 두 가지 방식으로 그림을 처리하는 것이다.
- scaleType = "fitXY": 이 속성으로 설정하면 그림이 가로로 늘어나 그림이 변형될 수 있습니다. 그림에 글씨체가 있으면 큰일입니다.
- scale Type = "center Crop": 배율 조정은 괜찮을 것 같은데 어색해서 안 돼요.그림을 처리할 때 먼저 그림의 크기를 얻고 그림의 넓이를 확인한 후 축소한다.이렇게 하면 그림의 표시 범위가 확정된 후에 그림의 중심점으로 등비 축소하여 폭이 화면으로 가득 찰 때까지 한다.이렇게 하면 매우 난처하다. 그림의 위아래가 잘릴 것이다. 이렇게 하면 그림이 완전하지 않고 여전히 우리가 원하는 것이 아니다.
내 방법은 코드에서 축소를 통해 그림을 얻은 다음에 backgroud를 설정하는 방법으로 그림을 추가하면 해결된다. 그러면 코드를 올린다.
// ,
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int mScreenWidth = dm.widthPixels;//
int mScreenHeight = dm.heightPixels;
//
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.bank_help);
int bitmapWidth = bitmap.getWidth();
int bitmapHeight = bitmap.getHeight();
//
float num = mScreenWidth / (float)bitmapWidth;
Matrix matrix = new Matrix();
matrix.postScale(num, num);
// Bitmap
Bitmap resizeBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmapWidth,
bitmapHeight, matrix, true);
상기 코드는 다음과 같은 절차로 나뉜다1. 화면 해상도를 가져옵니다.
2. 사진 얻기 및 높이 측정, 사진 얻기
3. 화면 너비/그림 너비로 대응하는 배율 조정
4. Matrix 객체를 작성하고 배율을 결정합니다.(ps: 이 물건은 매우 입에 물고 앞의 그라데이션 색에서도 수정 대상에 쓰인다)
5. 비트맵을 통해.createBitmap () 방법으로 그림을 생성합니다.(ps: 마지막 매개 변수는true를 보내야 합니다.false를 보내면 축소된 그림이 잘 보이지 않습니다.)
이상은 자바 이미지 처리 관련 조작 소개입니다. 여러분의 학습에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.