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

패키지 상세v1.2.1

blurhash_dart

BlurHash 알고리즘의 순수한 다트 구현입니다. 이 패키지는 인코더와 디코더를 제공하며, 몇 가지 유틸리티 확장 기능도 포함되어 있습니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
11.3만
좋아요
135
Pub 점수
160

패키지 설치

flutter pub add blurhash_dart

패키지 개요

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

BlurHash Dart는 BlurHash 알고리즘의 순수한 Dart 구현으로, 컴팩트한 이미지 자리표시자 생성 및 디코딩을 효율적으로 가능하게 합니다. Flutter 애플리케이션에 원활하게 통합할 수 있도록 인코더 및 디코더 기능과 유용한 유틸리티 확장 기능을 제공합니다. 로딩 중에 저대역폭 이미지 미리보기를 표시하는 데 이상적이며, Android, iOS, Web, macOS, Windows, Linux 등 주요 플랫폼을 모두 지원합니다. 패키지는 가볍고 외부 종속성이 없으며 성능 최적화를 위해 설계되었습니다.

사용 사례

  • 로딩 중에 이미지 플레이스홀더 생성
  • 큰 이미지에 대한 저해상도 미리보기 만들기
  • 플레이스홀더 시각 요소를 통한 앱 성능 인식 개선
  • 이미지 썸네일에 블러 효과 통합하기
  • 네트워크 집약형 앱에서 이미지 로딩 최적화

주요 기능

  • 순수한 다트 구현
  • 인코더와 디코더 포함
  • 사용 편의를 위한 유틸리티 확장
  • 크로스 플랫폼 호환성
  • 가볍고 빠름
  • 내장된 종속성 없음

적합한 대상

  • 이미지 자리표시자 필요 Flutter 개발자
  • 느린 또는 변동하는 네트워크 조건을 가진 앱
  • 성능 중심의 UI 구현
  • 플랫폼별 코드를 피하는 개발자
  • 최소한의 제3자 라이브러리가 필요한 프로젝트

고려 사항

  • 고정밀 이미지 표현에 적합하지 않습니다
  • BlurHash 개념을 이해해야 합니다
  • 플레이스홀더 사용 사례에 한정
  • 고급 이미지 처리 기능을 지원하지 않을 수 있습니다
  • 실제 이미지의 대체가 아니라 시각적 향상으로 가장 잘 사용됩니다

원본 README

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

BlurHash Dart

A pure dart implementation of BlurHash. Supports both encoding and decoding. Runs on every supported Dart platform. See the BlurHash website or GitHub repository for more information.

The encoder of this dart implementation produces slightly different hashes than the TypeScript implementation but matches the official C and Python implementation. In practice this should not be relevant.

Basic usage

Decoding a BlurHash
import 'package:blurhash_dart/blurhash_dart.dart';
import 'package:image/image.dart' as img;

const hash = 'LEHV6nWB2yk8pyo0adR*.7kCMdnj';
BlurHash blurHash = BlurHash.decode(hash);
img.Image image = blurHash.toImage(35, 20);

// Display image...
Note: Usage with Flutter

Flutter does not expect raw bytes for its Image.memory widget, but fully encoded images with their corresponding headers (e.g. bitmap, jpg, png). The easiest way to accomplish this, is to use, for example, encodeJpg from package:image:

Widget build(BuildContext context) {
  final image = BlurHash.decode('LEHV6nWB2yk8pyo0adR*.7kCMdnj').toImage(35, 20);
  return Image.memory(Uint8List.fromList(encodeJpg(image)));
}

It is recommended to cache the resulting image in a stateful widget, such that it does not need to be recomputed on every build call.

Encoding an Image
import 'dart:io';

import 'package:blurhash_dart/blurhash_dart.dart';
import 'package:image/image.dart' as img;

final data = File('path/to/image.png').readAsBytesSync();
final image = img.decodeImage(data.toList());
final blurHash = BlurHash.encode(image!, numCompX: 4, numCompY: 3);

print(blurHash.hash);
Extension Methods

Additional extension methods to compute, for example color averages, are available when importing package:blurhash_dart/blurhash_extensions.dart. See example for basic usage.

카테고리

의존성

의존성 목록 1 개

소스 저장소

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