분류, 패키지 및 저장소 검색

imageview360 표지
패키지 상세v1.3.0

imageview360

회전 및 제스처 커스터마이징 기능을 제공하는 이미지의 360도 뷰를 제공하는 플러터 패키지입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
145
좋아요
198
Pub 점수
150

패키지 설치

flutter pub add imageview360

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

imageview360은 부드러운 회전과 사용자 정의 가능한 제스처를 지원하는 임베디드 360도 이미지 뷰어 기능을 제공하는 Flutter 패키지입니다. 사용자는 스와이프나 드래그로 파노라마 이미지를 탐색할 수 있어 가상 투어, 제품 전시, 인터랙티브 미디어에 적합합니다. 이 패키지는 Android, iOS, Web, macOS, Windows, Linux 등 다양한 플랫폼을 지원하여 광범위한 호환성을 보장합니다. 개발자는 앱 디자인에 맞게 회전 속도, 민감도 및 상호작용 행동을 세밀하게 조정할 수 있습니다. 성능과 사용성에 중점을 두어 Flutter 애플리케이션에 원활하게 통합됩니다.

사용 사례

  • 가상 현실 경험
  • 제품 시각화
  • 인터랙티브 사진 갤러리
  • 교육용 360 콘텐츠
  • 부동산 투어

주요 기능

  • 부드러운 360도 회전
  • 사용자 정의 가능한 제스처 컨트롤
  • 크로스 플랫폼 지원
  • 고성능 렌더링
  • 설정 가능한 회전 속도
  • 반응형 터치 상호작용

적합한 대상

  • 몰입형 이미지 탐색이 필요한 앱
  • 3D 제품 보기 기능을 갖춘 전자상거래 플랫폼
  • 여행 및 관광 앱
  • 파노라마 콘텐츠를 갖춘 교육 도구
  • 인터랙티브 스토리텔링 앱

고려 사항

  • 고해상도 소스 이미지가 필요합니다
  • 저사양 기기에서 성능에 영향을 미칠 수 있습니다
  • 정적 360 이미지에 한정(비디오 없음)
  • 초기 설정에는 이미지 전처리가 필요할 수 있습니다
  • 제스처 사용자 정의는 Flutter 입력 처리에 익숙해야 합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

imageview360

A Flutter package which provides 360 view of the images with rotation and gesture customisations.

Supported Dart Versions

Dart SDK version >= 2.12.0

Demo Gif

imageview360 Demo

Installation

Pub

Add the Package

dependencies:
  imageview360: ^1.2.0

How to use

Import the package in your dart file

import 'package:imageview360/imageview360.dart';

Basic usage :
ImageView360(
     key: UniqueKey(),
     imageList: imageList,
),

Note: For ImageView360 to show instant changes on hot reload, you need to provide UniqueKey() so that the widget rebuilds every time.

Customisable usage :
ImageView360(
    key: UniqueKey(),                                           
    imageList: imageList,                                       
    autoRotate: true,                                           //Optional
    rotationCount: 2,                                           //Optional
    rotationDirection: RotationDirection.anticlockwise,         //Optional
    frameChangeDuration: Duration(milliseconds: 50),            //Optional
    swipeSensitivity: 2,                                        //Optional
    allowSwipeToRotate: true,                                   //Optional
    onImageIndexChanged: (currentImageIndex) {                  //Optional
                          print("currentImageIndex: $currentImageIndex");
                        },
)

Note: For better experience always precache image before providing the images to the widget as follows.

Example for loading and precaching images from assets :
 List<ImageProvider> imageList = List<ImageProvider>();
   for (int i = 1; i <= 52; i++) {
      imageList.add(AssetImage('assets/sample/$i.png'));
// To precache images so that when required they are loaded faster.
      await precacheImage(AssetImage('assets/sample/$i.png'), context);
    }
Mandatory fields
Attribute Type Usage
imageList List The list of images to be displayed
Customisable fields
Attribute Type Default Value
autoRotate bool false
rotationCount int 1
rotationDirection RotationDirection RotationDirection.clockwise
frameChangeDuration Duration Duration(milliseconds: 80)
swipeSensitivity int 1 (Note : Range allowed is 1-5 , less than 1 would be considered 1 and more than 5 would be considered 5)
allowSwipeToRotate bool true
onImageIndexChanged Function(int) (currentImageIndex){}

Blog Post

To have a better understanding how this package works under the hood, checkout my blog post: 360 degree image showcase in Flutter

Created & Maintained By

Harpreet Singh

Damanpreet Singh

License

Copyright 2020 Harpreet Singh & Damanpreet Singh

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.