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).
 }
});
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기