# vicc/chameleon

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/vicc-chameleon).**

12,325 stars · 1,289 forks · Objective-C · NOASSERTION · archived

## Links

- GitHub: https://github.com/vicc/chameleon
- awesome-repositories: https://awesome-repositories.com/repository/vicc-chameleon.md

## Description

Chameleon is a color framework for Swift and Objective-C applications, providing a toolkit for managing dynamic palettes, gradient libraries, and hexadecimal conversions. It functions as a system for creating harmonious color schemes and calculating contrasting text colors based on background luminance.

The project includes an image color extractor that analyzes images to generate matching color schemes or calculate average colors for user interfaces. It also features a gradient color library for creating and applying smooth transitions to backgrounds and text elements.

The framework covers broader color management capabilities, including hexadecimal string parsing, random color generation, and luminance adjustments. It provides utilities for calculating accessibility contrast and applying global themes across multiple interface views.

## Tags

### Mobile Development

- [Color Frameworks](https://awesome-repositories.com/f/mobile-development/color-frameworks.md) — Provides a comprehensive toolkit for managing colors, gradients, and hex codes in Swift and Objective-C applications.

### User Interface & Experience

- [Color Schemes](https://awesome-repositories.com/f/user-interface-experience/color-schemes.md) — Creates analogous, complementary, and triadic color schemes to ensure visual harmony across the user interface. ([source](https://github.com/vicc/chameleon#readme))
- [Color Palette Generators](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators.md) — Programmatically generates complementary schemes and random palettes to ensure visual harmony.
- [Image Color Extractors](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/image-color-extractors.md) — Analyzes images to identify dominant colors used for generating matching color schemes. ([source](https://github.com/vicc/chameleon#readme))
- [Color Scheme Manipulators](https://awesome-repositories.com/f/user-interface-experience/color-schemes/color-scheme-manipulators.md) — Implements programmatic adjustments of brightness and saturation by utilizing the HSB color space.
- [Palette Generation Algorithms](https://awesome-repositories.com/f/user-interface-experience/color-spaces/hue-shifting/palette-generation-algorithms.md) — Provides algorithmic methods for calculating harmonious color palettes based on mathematical offsets to a base hue.
- [Automatic Contrast Adjusters](https://awesome-repositories.com/f/user-interface-experience/contrast-validators/automatic-contrast-adjusters.md) — Dynamically computes and applies the most legible text colors to maintain high contrast against varying backgrounds.
- [Luminance-Based Contrast Adjusters](https://awesome-repositories.com/f/user-interface-experience/contrast-validators/automatic-contrast-adjusters/luminance-based-contrast-adjusters.md) — Calculates perceived brightness of background colors to automatically determine the most legible text color.
- [Gradient Utilities](https://awesome-repositories.com/f/user-interface-experience/gradient-utilities.md) — Implements a library for creating and applying smooth color transitions to backgrounds and text elements.
- [Image-Based Color Generators](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/image-based-color-generators.md) — Extracts dominant colors from images to automatically style the surrounding user interface.
- [Color Rendering Adjustments](https://awesome-repositories.com/f/user-interface-experience/color-systems/color-rendering-adjustments.md) — Provides utilities to create lighter or darker shades of a base color to add visual depth. ([source](https://github.com/vicc/chameleon/blob/master/README.md))
- [Gradient Abstractions](https://awesome-repositories.com/f/user-interface-experience/gradient-abstractions.md) — Offers a simplified interface for applying multi-stop color transitions to UI backgrounds and text.
- [Gradient Styling Interfaces](https://awesome-repositories.com/f/user-interface-experience/gradient-styling-interfaces.md) — Sets backgrounds, text, or tint properties to a gradient using a simplified interface. ([source](https://github.com/vicc/chameleon#readme))

### Part of an Awesome List

- [UI Styling and Themes](https://awesome-repositories.com/f/awesome-lists/devtools/ui-styling-and-themes.md) — Manages colors, gradients, and themes in Swift and Objective-C applications for a consistent visual interface.

### Graphics & Multimedia

- [Color Luminosity Calculators](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/colors/color-luminosity-calculators.md) — Computes perceived brightness to determine the optimal light or dark text color for high legibility. ([source](https://github.com/vicc/chameleon/blob/master/README.md))
- [Hex Parsers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/lighting-systems/lighting-control-systems/rgb-color-controllers/color-space-conversions/hex-parsers.md) — Translates hexadecimal strings into color objects and retrieves hex values from existing colors. ([source](https://github.com/vicc/chameleon/blob/master/README.md))
- [Gradient Generators](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/colors/gradient-generators.md) — Generates smooth color transitions between two or more specified colors for backgrounds and decorations. ([source](https://github.com/vicc/chameleon/blob/master/CHANGELOG.md))
- [Dominant Color Samplers](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/colors/scale-color-extraction/pixel-color-sampling/dominant-color-samplers.md) — Extracts dominant or average colors by iterating through raw pixel data and calculating color frequency.

### Programming Languages & Runtimes

- [Hexadecimal Color Parsers](https://awesome-repositories.com/f/programming-languages-runtimes/string-parsing/hexadecimal-color-parsers.md) — Translates hex-formatted strings into RGBA color components using string slicing and integer conversion.
