Android 이미지 처리 튜 토리 얼 전경 보기 효과 구현
톱 을 할 때,지금 우 리 는 많은 전경 도 광고 가 이렇게 빨리 매우 멋 있어 보 이 는 것 을 발견 할 수 있다.오늘 은 이 작은 효과 의 실현 에 대해 말씀 드 리 겠 습 니 다.
PS:Android 는 이미지 처리 에 있어 서 이 자원 이 많 습 니 다.이전 에는 OpenGL 로 이미지 의 전경 효 과 를 만 드 는 데 시간 이 걸 렸 고 클릭 해서 만 볼 수 있 었 지만 효 과 는 매우 좋 았 습 니 다.오늘 쓴 것 은 작 성 된 이미지 컨트롤 입 니 다.가 져 오기 만 하면 됩 니 다.효과 가 그렇게 좋 지 않 습 니 다.처리 한 후에 한 장의 그림 이 중간 부분 을 캡 처 하여 확대 한 다음 에 화면 중간 에 나타 나 고 핸드폰 을 흔 들 어 가 려 진 부분 을 봅 니 다.
그림:처음에는 그림 이 이 랬 다.
위 가 바로 효과 도 입 니 다.
실현 방법 은 다음 과 같다.
1:의존 도 추가
//
compile 'com.gjiazhe:PanoramaImageView:1.0'
2:컨트롤 사용
<com.gjiazhe.panoramaimageview.PanoramaImageView
android:id="@+id/panorama_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/timg"
app:piv_enablePanoramaMode="true"
app:piv_show_scrollbar="true"
app:piv_invertScrollDirection="false" />
레이아웃 의 루트 디 렉 터 리 는 반드시 추가 해 야 합 니 다.
xmlns:app=http://schemas.android.com/apk/res-auto
이 안에 세 개의 속성 이 있다(그 중 세 개)하 나 는 app:pivenablePanoramaMode,전경 효과 모드 사용,app:pivshow_scrollbar 스크롤 바 표시,app:pivinvertScrollDirection 이 스크롤 방향 을 뒤 바 꾸 면 값 에 따라 효과 가 달라 집 니 다.
3:GyroscopeObserver 등록
Panorama ImageView 를 사용 하 는 Activity 나 Fragment 에 서 는 onResume()에 Gyroscope Observer 를 등록 하고 onPause()에서 로그아웃 하 는 것 을 기억 해 야 합 니 다.
public class MyActivity extends AppCompatActivity {
private GyroscopeObserver gyroscopeObserver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize GyroscopeObserver.
gyroscopeObserver = new GyroscopeObserver();
// Set the maximum radian the device should rotate to show image's bounds.
// It should be set between 0 and π/2.
// The default value is π/9.
gyroscopeObserver.setMaxRotateRadian(Math.PI/9);
PanoramaImageView panoramaImageView = (PanoramaImageView) findViewById(R.id.panorama_image_view);
// Set GyroscopeObserver for PanoramaImageView.
panoramaImageView.setGyroscopeObserver(gyroscopeObserver);
}
@Override
protected void onResume() {
super.onResume();
// Register GyroscopeObserver.
gyroscopeObserver.register(this);
}
@Override
protected void onPause() {
super.onPause();
// Unregister GyroscopeObserver.
gyroscopeObserver.unregister();
}
}
OnPanorama ScrollListener 를 설정 하여 스크롤 상 태 를 관찰 합 니 다.그림 을 스크롤 할 때 리 셋 을 받 으 려 면 Panorama ImageView 는 OnPanorama ScrollListener 를 설정 해 야 합 니 다.
panoramaImageView.setOnPanoramaScrollListener(new PanoramaImageView.OnPanoramaScrollListener() {
@Override
public void onScrolled(PanoramaImageView view, float offsetProgress) {
// Do something here.
// The offsetProgress range from -1 to 1, indicating the image scrolls
// from left(top) to right(bottom).
}
});
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.