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

ncscolor 표지
패키지 상세v1.0.0

ncscolor

NCS(자연 색상 시스템) 색상을 RGB, HSL, HEX 형식으로 변환하는 포괄적인 Dart 패키지이며, 추가 RGB 변환 유틸리티도 제공합니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
22
좋아요
4
Pub 점수
150

패키지 설치

flutter pub add ncscolor

패키지 개요

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

ncscolor는 NCS(Natural Color System) 색상과 RGB, HSL, HEX와 같은 일반적인 형식 간의 원활한 변환을 가능하게 하는 Dart 패키지입니다. 디자인 및 개발 워크플로우에서 정확한 색상 표현이 필요한 경우 필수적인 정밀한 색상 변환 기능을 제공합니다. 또한 RGB 조작을 위한 보조 유틸리티도 포함되어 있어 UI/UX 애플리케이션에서의 활용도를 높였습니다. 크로스 플랫폼 사용을 위해 설계되었으며 Android, iOS, Web, macOS, Windows, Linux를 지원합니다.

사용 사례

  • 디자인 시스템 구현
  • 디지털 인터페이스에서의 색상 매칭
  • 크리에이티브 도구 개발
  • 접근성 호환 색상 선택
  • UI 프로토타이핑

주요 기능

  • NCS에서 RGB/HSL/HEX로 변환
  • RGB 유틸리티 함수
  • 고정밀 색상 계산
  • 크로스 플랫폼 호환성
  • 간단한 API 통합

적합한 대상

  • NCS 색상 기준을 사용하는 디자이너
  • 색상 선택기 개발자
  • 정확한 색상 번역이 필요한 응용 프로그램
  • 디자인 시스템을 사용하는 프론트엔드 팀
  • NCS 통합 창의적 소프트웨어

고려 사항

  • NCS 색상 모델에 대한 이해가 필요합니다
  • 색상 형식 변환에 제한됨
  • 내장된 색상 선택기 UI 없음
  • 디자인 도구와 함께 사용할 때 가장 효과적입니다
  • 실시간 색상 편집에 최적화되지 않음

원본 README

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

NCSColor 🎨

pub package License: MIT

A comprehensive Dart package for converting NCS (Natural Color System) colors to RGB, HSL, and HEX formats, with additional RGB conversion utilities. Perfect for Flutter apps and Dart projects that need to work with NCS color specifications.

🌐 Live Demo

🚀 Try the Interactive Web Demo

Experience NCSColor in action with our live Flutter web demo! Test color conversions, explore the NCS color system, and see real-time previews of your color transformations.

✨ Features

  • 🎯 NCS to RGB conversion - Convert NCS color codes to RGB values
  • 🌈 NCS to HSL conversion - Get HSL representation of NCS colors
  • 🎨 NCS to HEX conversion - Generate hex color codes from NCS
  • 🔄 RGB to HSL conversion - Convert RGB values to HSL format
  • 🔄 RGB to HEX conversion - Convert RGB values to hex format
  • ✅ Input validation - Proper NCS format validation with clear error messages
  • 📱 Flutter ready - Works seamlessly with Flutter Color widgets
  • 🚀 Modern Dart - Built with latest Dart features and null safety

🚀 Installation

Add this to your package's pubspec.yaml file:

dependencies:
  ncscolor: ^1.0.0

Then run:

flutter pub get

📖 Usage

Import the package
import 'package:ncscolor/ncscolor.dart';
NCS Color Conversions
// Create an NCS color instance
final ncsColor = NCSColor(ncsCode: '2060-R60B');

// Convert to RGB
final rgb = ncsColor.toRgb();
print(rgb); // {r: 164, g: 58, b: 214}

// Convert to HSL
final hsl = ncsColor.toHsl();
print(hsl); // {h: 281, s: 66%, l: 53%}

// Convert to HEX
final hex = ncsColor.toHex();
print(hex); // #a43ad6
RGB Conversions
// RGB to HSL
final hsl = ColorConvert.rgbToHsl(r: 164, g: 58, b: 214);
print(hsl); // {h: 281, s: 66%, l: 53%}

// RGB to HEX
final hex = ColorConvert.rgbToHex(r: 164, g: 58, b: 214);
print(hex); // #a43ad6
Using with Flutter Colors
final ncsColor = NCSColor(ncsCode: '2060-R60B');
final rgb = ncsColor.toRgb();

// Create a Flutter Color
final flutterColor = Color.fromRGBO(
  rgb['r']!,
  rgb['g']!,
  rgb['b']!,
  1.0,
);

// Use in your widgets
Container(
  color: flutterColor,
  child: Text('Hello NCS!'),
)

🎨 NCS Color Format

The Natural Color System (NCS) uses a specific format for color codes:

  • Format: ####-[RGBY][##[RGBY]]
  • Examples:
    • 2060-R60B (Red-Blue with 20% blackness, 60% chromaticness, 60% blue)
    • 1050-Y90R (Yellow-Red with 10% blackness, 50% chromaticness, 90% red)
    • 0505-B (Blue with 5% blackness, 5% chromaticness)
Format breakdown:
  • First two digits: Blackness (00-99)
  • Next two digits: Chromaticness (00-99)
  • Letter: Hue (R=Red, G=Green, B=Blue, Y=Yellow)
  • Optional: Hue percentage and secondary hue

📱 Example App

Check out the /example folder for a complete Flutter app demonstrating all features:

  • Interactive NCS color input
  • Real-time color preview
  • All conversion formats displayed
  • Error handling and validation

NCS Color Demo

🔧 API Reference

NCSColor Class
Constructor
NCSColor({required String ncsCode})
Methods
  • Map<String, int> toRgb() - Returns RGB values
  • Map<String, String> toHsl() - Returns HSL values
  • String toHex() - Returns hex color code
  • String toString() - String representation
  • bool operator ==(Object other) - Equality comparison
  • int get hashCode - Hash code
ColorConvert Class
Static Methods
  • Map<String, String> rgbToHsl({required int r, required int g, required int b})
  • String rgbToHex({required int r, required int g, required int b})

⚠️ Error Handling

The package provides clear error messages for invalid NCS codes:

try {
  final ncsColor = NCSColor(ncsCode: 'invalid-code');
  final rgb = ncsColor.toRgb();
} catch (e) {
  print(e); // ArgumentError: Invalid NCS color format...
}

🧪 Testing

Run the test suite:

flutter test

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📚 Resources

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Based on the Natural Color System specification
  • Inspired by W3Schools color converter algorithms
  • Built with ❤️ for the Flutter community

Made with Flutter 💙

카테고리

소스 저장소

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

아직 데이터가 없습니다.