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

패키지 상세v1.0.3

tinycolor

Flutter 색상 조작 및 변환, JS tinycolor2에서 가져옴

30일 다운로드
580
좋아요
51
Pub 점수
25

패키지 설치

flutter pub add tinycolor

패키지 개요

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

인기 있는 JavaScript 라이브러리 tinycolor2에서 옮겨온 색상 조작 및 변환을 위한 플러터 패키지입니다. HEX, RGB, HSL, HSV 등 다양한 형식 간에 색상을 분석하고 수정하며 변환할 수 있는 포괄적인 도구 세트를 제공합니다. 밝기, 채도, 색조 조정이 필요한 동적 UI에 적합합니다. 외부 종속성 없이 고급 색상 처리가 필요한 플러터 애플리케이션에 쉽게 통합될 수 있도록 설계되었습니다.

사용 사례

  • 다이나믹 테마 생성
  • 색 대비 검사
  • 색조/채도/명도 조정
  • 색상 팔레트 생성
  • UI 컴포넌트 스타일링

주요 기능

  • 여러 색상 형식을 지원합니다
  • 명도 및 채도 조작
  • 색상 혼합 유틸리티
  • HSL/HSV/RGB/HEX 변환
  • 색 변환을 위한 사용하기 쉬운 API

적합한 대상

  • 사용자 정의 가능한 테마를 구축하는 UI 디자이너
  • 실시간 색상 편집이 필요한 개발자
  • 동적 색상 테마를 가진 앱
  • 접근성 중심 애플리케이션
  • 색의 상호작용이 있는 창의적인 도구

고려 사항

  • 특정 플랫폼 최적화에 대해 언급되지 않음
  • 기본 사용법을 넘어서는 문서가 제한적
  • 중량 이미지 처리를 위한 것이 아님
  • 복잡한 워크플로에서 색 공간을 수동으로 처리해야 합니다
  • 내장된 색상 선택기 위젯 없음

원본 README

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

tinycolor

TinyColor is a small library for Flutter color manipulation and conversion

A port of tinycolor2 by Brian Grinstead

Getting Started

A tinycolor receives a Color as parameter.

import 'package:tinycolor/tinycolor.dart';

final TinyColor = TinyColor(Colors.green);

Now you can also use the package to extend the native Color class with all the same features, but simpler. To use extension update, make sure to change envieronment sdk version in pubspec like this: sdk: ">=2.6.0 <3.0.0"

From a Hex String

The package uses Pigment by Bregy Malpartida Ramos to convert strings to Color

TinyColor.fromString('#FE5567');
From RGB int values
TinyColor.fromRGB(r: 255, g: 255, b:255);
From HSL color
HslColor color = HslColor(h: 250, s: 57, l: 30);
TinyColor.fromHSL(color);
From HSV color
HSVColor color = HSVColor(h: 250, s: 57, v: 30);
TinyColor.fromHSV(color);
From Flutter's Color
TinyColor tinyColor = Colors.blue.toTinyColor();

Properties

color

Returns the flutter Color after operations

final Color color = TinyColor(Colors.white).color;

Methods

getBrightness

Returns the perceived brightness of a color, from 0-255, as defined by Web Content Accessibility Guidelines (Version 1.0).

TinyColor.fromString("#ffffff").getBrightness(); // 255
TinyColor.fromString("#000000").getBrightness(); // 0
// or with Color extension
Colors.grey.brightness;  // 127
isLight

Return a boolean indicating whether the color's perceived brightness is light.

TinyColor.fromString("#ffffff").isLight(); // true
TinyColor.fromString("#000000").isLight(); // false
// or with Color extension
Colors.white.isLight;  // true
isDark

Return a boolean indicating whether the color's perceived brightness is dark.

TinyColor.fromString("#ffffff").isDark(); // false
TinyColor.fromString("#000000").isDark(); // true
// or with Color extension
Colors.white.isDark;  // false
getLuminance

Return the perceived luminance of a color, a shorthand for flutter Color.computeLuminance

TinyColor.fromString("#ffffff").getLuminance();
// or with Color extension
Colors.white.luminance;
setAlpha

Sets the alpha value on the current color.

final color = TinyColor(Colors.red).setAlpha(10);
setOpacity

Sets the opacity value on the current color.

final color = TinyColor(Colors.red).setOpacity(0.5);

Color Modification

These methods manipulate the current color, and return it for chaining. For instance:

TinyColor(Colors.red).lighten().desaturate().color;
// or with Color extension
Colors.red.lighten().desaturate();
lighten

lighten: function(amount = 10) -> TinyColor. Lighten the color a given amount, from 0 to 100. Providing 100 will always return white.

TinyColor(Colors.red).lighten().color;
TinyColor(Colors.red).lighten(100).color;
// or with Color extension
Colors.red.lighten(50);
brighten

brighten: function(amount = 10) -> TinyColor. Brighten the color a given amount, from 0 to 100.

TinyColor(Colors.black).brighten().color;
// or with Color extension
Colors.black.brighten(50);
darken

darken: function(amount = 10) -> TinyColor. Darken the color a given amount, from 0 to 100. Providing 100 will always return black.

TinyColor(Colors.red).darken().color;
TinyColor(Colors.red).darken(100).color;
// or with Color extension
Colors.red.darken(50);
tint

Mix the color with pure white, from 0 to 100. Providing 0 will do nothing, providing 100 will always return white.

TinyColor(Color.red).tint().color;
TinyColor(Color.red).tint(100).color;
// or with Color extension
Colors.red.tint(50);
shade

Mix the color with pure black, from 0 to 100. Providing 0 will do nothing, providing 100 will always return black.

TinyColor(Colors.red).shade().color;
TinyColor(Colors.red).shade(100).color;
// or with Color extension
Colors.red.shade(50);
desaturate

desaturate: function(amount = 10) -> TinyColor. Desaturate the color a given amount, from 0 to 100. Providing 100 will is the same as calling greyscale.

TinyColor(Colors.red).desaturate().color;
TinyColor(Colors.red).desaturate(100).color;
// or with Color extension
Colors.red.desaturate(50);
saturate

saturate: function(amount = 10) -> TinyColor. Saturate the color a given amount, from 0 to 100.

TinyColor(Colors.red).saturate().color;
// or with Color extension
Colors.red.saturate(50);
greyscale

greyscale: function() -> TinyColor. Completely desaturates a color into greyscale. Same as calling desaturate(100).

TinyColor(Colors.red).greyscale().color;
// or with Color extension
Colors.red.greyscale;
spin

spin: function(amount = 0) -> TinyColor. Spin the hue a given amount, from -360 to 360. Calling with 0, 360, or -360 will do nothing (since it sets the hue back to what it was before).

TinyColor(Colors.red).spin(180).color;
// or with Color extension
Colors.red.spin(180);

// spin(0) and spin(360) do nothing
TinyColor(Colors.red).spin(0).color;
TinyColor(Colors.red).spin(360).color;
compliment

compliment: function() -> TinyColor. Returns the Complimentary Color for dynamic matching.

TinyColor(Colors.red).compliment().color;
// or with Color extension
Colors.red.compliment;
mix

mix: function(toColor, amount = 10) -> TinyColor. Blends the color with another color a given amount, from 0 - 100, default 50.

TinyColor(Colors.red).mix(TinyColor(Colors.yellow, 20)).color;
// or with Color extension
Colors.red.mix(Colors.yellow, 20);

Common operations

clone

clone: function() -> TinyColor. Instantiate a new TinyColor object with the same color. Any changes to the new one won't affect the old one.

final color1 = new TinyColor(Colors.red);
final color2 = color1.clone();
color2.setAlpha(20);

카테고리

의존성

의존성 목록 2 개

소스 저장소

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