Creta Random Image

Flutter용 간단한 랜덤 이미지 위젯 패키지입니다. picsum.photos 서비스를 이용해 다양한 랜덤 이미지를 손쉽게 불러오고, 자동 갱신·블러 처리·전환 애니메이션 등을 설정할 수 있습니다.

주요 기능

  • 폭/높이만 지정하면 바로 사용할 수 있는 CretaRandomImage 위젯
  • 자동 새로고침 주기, 블러 처리 옵션 지원
  • 사전 로딩 및 페이드 전환으로 부드러운 이미지 교체
  • 플레이스홀더, 오류 위젯, 로딩 콜백을 커스터마이징 가능
  • 웹 · 윈도우 · 안드로이드 등 Flutter가 지원하는 주요 플랫폼에서 동작

설치

pubspec.yamldependencies 섹션에 패키지를 추가합니다.

dependencies:
  creta_random_image: ^0.1.0

이후 패키지를 내려받습니다.

flutter pub get

빠른 시작

import 'package:creta_random_image/creta_random_image.dart';
import 'package:flutter/material.dart';

class SampleScreen extends StatelessWidget {
  const SampleScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Center(
        child: CretaRandomImage(
          width: 320,
          height: 200,
          blur: true,
          refreshInterval: Duration(seconds: 10),
          enableStrongFade: true,
        ),
      ),
    );
  }
}

매개변수

이름 타입 기본값 설명
width double 위젯의 가로 길이 (필수)
height double 위젯의 세로 길이 (필수)
blur bool false 블러 처리 여부
refreshInterval Duration? null 지정 시 해당 주기로 새로운 이미지를 갱신
fit BoxFit BoxFit.cover 이미지의 배치 방식
alignment Alignment Alignment.center 이미지 정렬
placeholder WidgetBuilder? null 첫 로딩 시 보여줄 플레이스홀더
errorBuilder Widget Function(BuildContext, Object, StackTrace?)? null 오류 발생 시 대체 위젯
loadingBuilder ImageLoadingBuilder? null 이미지 로딩 콜백
transitionDuration Duration 300ms 이미지 전환 애니메이션 시간
transitionCurve Curve Curves.easeInOut 기본 전환 커브
enableStrongFade bool false 페이드 인/아웃 효과를 강화할지 여부
fadeInCurve Curve Curves.easeIn 강화 페이드 인 커브
fadeOutCurve Curve Curves.easeOut 강화 페이드 아웃 커브

예제 앱

example/ 디렉터리에 다양한 옵션을 실험할 수 있는 Flutter 애플리케이션이 포함되어 있습니다. 다음 명령으로 실행해 보세요.

cd example
flutter run

개발 & 기여

버그 제보나 기능 제안은 이슈 트래커에 등록해 주세요. Pull Request도 환영합니다.

라이선스

이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE 파일을 참고하세요.

Libraries

creta_random_image