-1

그래서 프로필 이미지가있는 프로필 활동이 있습니다. 이제 이미지는 수직으로 찍혔습니다. 수평 이미지보기가 있습니다. 내가 이미지를 잡으면 onActivityResult()는 어떻게 이미지를 "사각형 화"합니까? 이미지의 사각형으로, 각 이미지의 너비가 화면의 너비가되도록하고 싶습니다 (사각형 이후 높이 = 이미지 너비 = 화면 너비).이미지를 사각형으로 자르는 방법 - android?

onActivityResult()에서 내 갤러리와 카메라의 이미지를 문자열 경로 (비트 맵으로 변환 할 수 있음)로 가져옵니다. 또한 이미지를 얻을 때 글라이드 라이브러리와 URL을 사용하여 백엔드에서 가져옵니다.

Glide.with(context).load("www.mybackendToImagePath").centerCrop().into(newImageView);

그래서, 나는 비트 맵으로 그 이미지 경로를 변환 한 후 어떻게 든 내 화면의 폭이 비트 맵을 사각형해야합니다. 어떤 코드가 나를 허용하는지 잘 모르겠습니다.

  1. 기기의 크기를 확인하십시오.
  2. 변형은 이미지의 너비와 높이를 장치의 너비에 맞 춥니 다.

여러분이 도와 드리겠습니다.

Heres 내 프로필 활동을 보여줍니다.

enter image description here

답변

1

당신은 당신이 카메라 나 갤러리에서 얻을 작물 영상이 https://github.com/Yalantis/uCrop 라이브러리를 사용할 수 있습니다.

allprojects { 
repositories { 
    jcenter() 
    maven { url "https://jitpack.io" } 
} 
} 

종속 관계

compile 'com.github.yalantis:ucrop:2.2.1' 

또는

compile 'com.github.yalantis:ucrop:2.2.1-native' 

<activity 
    android:name="com.yalantis.ucrop.UCropActivity" 
    android:screenOrientation="portrait" 
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"/> 

이제 통과 당신의 AndroidManifest.xml에 UCropActivity를 추가 URI의 추가 지역 도서관 프로젝트와 라이브러리를 포함 귀하의 이미지를 당신이 당신의 자른 이미지를

UCrop.of(sourceUri, destinationUri) 
.withAspectRatio(1, 1)//1, 1 is the ratio b/w width and height of image i.e. square you can pass any ratio here 
.withMaxResultSize(maxWidth, maxHeight) 
.start(context); 

무시하여 onActivityResult 방법을 놓고 uCrop 결과를 처리 할 경우 다음 코드에서 sourceUri 및 destinationUri이 될 것입니다.

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK && requestCode == UCrop.REQUEST_CROP) { 
     final Uri resultUri = UCrop.getOutput(data); 
    } else if (resultCode == UCrop.RESULT_ERROR) { 
     final Throwable cropError = UCrop.getError(data); 
    } 
} 
+0

라이브러리를 사용하지 않고이를 수행 할 수있는 방법은 무엇입니까? – TheQ

+0

자르기 목적을 보려면 http://stackoverflow.com/a/15239086/1798737을 참조하십시오. –

관련 문제