[flutter] photo_view 패키지로 이미지에 버블 효과 추가하기

이미지를 확대, 축소 및 이동할 수 있는 기능을 제공하는 패키지인 photo_view를 사용하여 이미지에 버블 효과를 추가해 보겠습니다. 이 효과는 이미지 주변에 원형으로 표시되는 버블들을 생성하는 것입니다.

photo_view 패키지 설치하기

먼저, pubspec.yaml 파일에 photo_view 패키지를 추가해야 합니다. 아래와 같이 dependencies 섹션에 추가합니다.

dependencies:
  photo_view: ^0.12.0

패키지를 추가한 후에는 flutter 패키지를 업데이트하려면 터미널에서 다음 명령을 실행합니다.

flutter pub get

이미지 버블 효과 추가하기

photo_view 패키지를 사용하여 버블 효과를 추가하려면 다음 단계를 따르십시오.

  1. photo_view 패키지를 가져옵니다.

     import 'package:photo_view/photo_view.dart';
    
  2. PhotoView widget을 사용하여 이미지 뷰어를 생성합니다.

     PhotoView(
       imageProvider: AssetImage("assets/images/image.jpg"),
     )
    
  3. 버블 효과를 추가하려면 PhotoView.customChild 구성 요소를 사용합니다. customChild는 기본 child를 래핑할 수 있는 위젯입니다.

     PhotoView.customChild(
       child: Container(
         decoration: BoxDecoration(
           shape: BoxShape.circle,
           color: Colors.transparent,
         ),
         child: Image.asset("assets/images/image.jpg"),
       ),
       childSize: const Size(300.0, 300.0),
       initialScale: PhotoViewComputedScale.contained,
       backgroundDecoration: BoxDecoration(
         color: Colors.transparent,
       ),
     )
    

    위의 예제에서는 Container 위젯으로 이미지를 래핑하고 shape을 circle로 설정하여 원형으로 표시되는 버블 효과를 생성합니다. childSize는 child 위젯의 크기를 지정하고, initialScale은 초기 확대/축소 비율을 지정합니다.

결과 확인

이제 이미지에 추가된 버블 효과를 확인할 수 있습니다. 화면에 이미지를 표시하고 확대, 축소, 이동 등을 할 수 있습니다.

class BubbleImageScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Bubble Image'),
      ),
      body: Center(
        child: PhotoView.customChild(
          child: Container(
            decoration: BoxDecoration(
              shape: BoxShape.circle,
              color: Colors.transparent,
            ),
            child: Image.asset("assets/images/image.jpg"),
          ),
          childSize: const Size(300.0, 300.0),
          initialScale: PhotoViewComputedScale.contained,
          backgroundDecoration: BoxDecoration(
            color: Colors.transparent,
          ),
        ),
      ),
    );
  }
}

이렇게하면 photo_view 패키지를 사용하여 이미지에 버블 효과를 추가할 수 있습니다. 직접적이고 간단한 방법으로 이미지를 확대, 축소 및 이동할 수 있는 기능을 제공하는 photo_view 패키지를 사용해보세요.