Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.1.0

flutter_avif

Um plug-in do Flutter para visualizar e codificar imagens AVIF usando o libavif.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
9,6 mil
Curtidas
52
Pontos Pub
140

Instalar pacote

flutter pub add flutter_avif

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

flutter_avif é um plugin do Flutter que permite visualizar e codificar imagens AVIF usando a biblioteca libavif. Ele suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. O plugin permite que desenvolvedores integrem o tratamento de imagens AVIF de alta eficiência em seus aplicativos, oferecendo compressão superior e qualidade de imagem em comparação com formatos tradicionais como JPEG ou PNG. Ele fornece uma API simples para decodificação e codificação de arquivos AVIF dentro de aplicações Flutter.

Casos de uso

  • Exibindo imagens AVIF em aplicativos Flutter
  • Convertendo imagens para formato AVIF
  • Otimização de ativos de imagem do aplicativo
  • Suporte a formatos modernos de imagem em todas as plataformas
  • Integrando o AVIF em aplicações com muitos meios

Principais recursos

  • Suporta decodificação e codificação AVIF
  • Compatibilidade multiplataforma
  • Utiliza o libavif para processamento eficiente
  • Integração simples com o Flutter
  • Alta compressão com excelente qualidade de imagem

Indicado para

  • Aplicativos que exigem armazenamento eficiente de imagens
  • Desenvolvedores direcionados a formatos de imagem modernos
  • Projetos focados em desempenho e economia de largura de banda
  • Aplicações com muitas imagens, como galerias ou mídias sociais
  • Equipes construindo aplicativos multiplataforma com suporte avançado a imagens

Considerações

  • O suporte ao AVIF pode variar levemente entre plataformas
  • Requer dependências nativas por meio do libavif
  • Não adequado para sistemas legados sem suporte AVIF
  • Suporte limitado ao navegador em ambientes Web antigos
  • Complexidade potencial de compilação em algumas plataformas

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

flutter_avif

A flutter plugin to view and encode avif images.

Installation

To add the flutter_avif to your Flutter application follow the installation instructions on pub.dev.

Usage

AvifImage widget has a similar api as Flutter Image widget.

import 'package:flutter_avif/flutter_avif.dart';

AvifImage.file(
    file,
    height: 200,
    fit: BoxFit.contain,
),

AvifImage.asset(
    "test.avif",
    height: 200,
    fit: BoxFit.contain,
),

AvifImage.network(
    "https://test.com/test.avif",
    height: 200,
    fit: BoxFit.contain,
),

For documentation on widget properties, please refer to https://api.flutter.dev/flutter/widgets/Image-class.html.

The package also provides CachedNetworkAvifImage for caching network images.

import 'package:flutter_avif/flutter_avif.dart';

CachedNetworkAvifImage(
    "https://test.com/test.avif",
    height: 200,
    fit: BoxFit.contain,
)

Encoding

To convert an image to avif:

import 'package:flutter_avif/flutter_avif.dart';

final asset = await rootBundle.load("asset.gif");
final avifBytes = await encodeAvif(asset.buffer.asUint8List());
final outputFile = File('output.avif');
outputFile.writeAsBytes(avifBytes);
import 'package:flutter_avif/flutter_avif.dart';

final inputFile = File('input.png');
final inputBytes = await inputFile.readAsBytes();
final avifBytes = await encodeAvif(inputBytes);
final outputFile = File('output.avif');
outputFile.writeAsBytes(avifBytes);

Decoding

decodeAvif function can be used to decode an avif file to a list of dart:ui Image:

import 'package:flutter_avif/flutter_avif.dart';

final bytes = await rootBundle.load('asset.avif');
final frames = await decodeAvif(bytes.buffer.asUint8List());

decodeAvif functions return a list of AvifFrameInfo which has the duration and the image of a frame.

Custom Animation Controller

AvifAnimation can be used together with an AnimationController to manipulate the playback of multiframe images.

import 'package:flutter_avif/flutter_avif.dart';

AnimationController controller = AnimationController(vsync: this);

AvifAnimation(
    controller: controller,
    image: const AssetAvifImage('multiframe.avif'),
    onLoaded: (duration, fps) {
        controller.forward(); // play the animation
    },
),

Categorias

Dependências

Lista de dependências 10 itens

  • exif^3.3.0
  • flutter_avif_android^3.1.0
  • flutter_avif_ios^3.1.0
  • flutter_avif_linux^3.1.0
  • flutter_avif_macos^3.1.0
  • flutter_avif_platform_interface^3.1.0
  • flutter_avif_web^3.1.0
  • flutter_avif_windows^3.1.0
  • flutter_cache_manager^3.4.1
  • http^1.2.2

Repositório-fonte

Projetos que usam este pacote