패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.0.2

fast_image_resizer

네이티브 구현을 사용하여 이미지 크기를 조정합니다. 출력 형식으로는 PNG만 지원됩니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
2.8천
좋아요
19
Pub 점수
160

패키지 설치

flutter pub add fast_image_resizer

패키지 개요

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

Fast Image Resizer는 여러 플랫폼에서 네이티브 구현을 사용하여 효율적인 이미지 크기 조정을 가능하게 하는 Flutter 패키지입니다. 최소한의 오버헤드로 고성능 이미지 스케일링에 특화되어 있으며, 최적화된 결과를 제공합니다. 이 패키지는 PNG 출력 형식만 지원하므로 압축되고 고품질의 PNG가 필요한 애플리케이션에 이상적입니다. 속도와 신뢰성을 위해 설계되었으며, 멀티미디어 편집, 압축 또는 이미지 처리 워크플로우에 중점을 둔 앱에 원활하게 통합됩니다. 크로스플랫폼 호환성으로 인해 Android, iOS, Web, macOS, Windows 및 Linux에서 일관된 동작을 보장합니다.

사용 사례

  • 이미지 썸네일 생성
  • 웹 전달을 위한 이미지 최적화
  • 저장을 위해 이미지 파일 크기 줄이기
  • 앱 표시를 위한 이미지 전처리
  • 미디어 앱에서 일괄 이미지 크기 조정

주요 기능

  • 모든 플랫폼에서의 네이티브 성능
  • PNG 전용 출력 형식
  • 크로스 플랫폼 호환성
  • 최소 메모리 사용량
  • 크기 조정을 위한 간단한 API
  • 낮은 지연 시간으로 빠른 실행

적합한 대상

  • 빠른 이미지 처리가 필요한 앱
  • 성능을 우선시하는 개발자
  • PNG 출력에 중점을 둔 프로젝트
  • 미디어 중심 애플리케이션
  • 이미지 최적화가 필요한 웹 및 모바일 앱

고려 사항

  • PNG 파일만 출력합니다
  • 크기 조정 작업에 한정
  • 다른 이미지 형식에 대한 지원 없음
  • 큰 이미지 처리 시 주의가 필요합니다
  • 복잡한 이미지 변환에 적합하지 않습니다

원본 README

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

fast_image_resizer

This package uses native implementations to resize an image. It should be fast compared to the image package. It only supports PNG as output at the moment.

This package has zero dependencies.

Features

  • Supported inputs: JPEG, PNG, GIF, Animated GIF, WebP, Animated WebP, BMP, and WBMP
  • Supported outputs: PNG

Getting started

Add fast_image_resizer to your pubspec.yaml

Usage

import 'package:fast_image_resizer/fast_image_resizer.dart';
import 'dart:typed_data';
final rawImage = await rootBundle.load('assets/someImage.png');
final bytes = await resizeImage(Uint8List.view(rawImage.buffer), width: 150);
if (bytes != null) {
    final imageWidget = Image.memory(Uint8List.view(bytes.buffer));
    showDialog(
        context: context,
        builder: (BuildContext context) {
            return AlertDialog(
            title: const Text("Image"),
            content: imageWidget,
            );
        }
    );
}

or

final ImagePicker _picker = ImagePicker();
final XFile? image =
    await _picker.pickImage(source: ImageSource.gallery);
if (image != null) {
    final rawImage = await image.readAsBytes();
    final bytes = await resizeImage(Uint8List.view(rawImage.buffer), height: 250);
    if (bytes != null) {
        final testing = Image.memory(Uint8List.view(bytes.buffer));
        showDialog(
            context: context,
            builder: (BuildContext context) {
                return AlertDialog(
                    title: Text("Image"),
                    content: testing,
                );
            }
        );
    }
}

Known Issues

  • This currently does not work on web, because of this issue: https://github.com/flutter/flutter/issues/34075

카테고리

소스 저장소

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