Skip to content

hsluv/hsluv-emacs

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

hsluv-emacs

Introduction

This package provides an Elisp implementation of the HSLUV colorspace conversions as created by Alexei Boronine (@boronine), and documented on http://www.hsluv.org/

HSLuv is a human-friendly alternative to HSL.

CIELUV is a color space designed for perceptual uniformity based on human experiments. When accessed by polar coordinates, it becomes functionally similar to HSL with a single problem: its chroma component doesn't fit into a specific range.

HSLuv extends CIELUV with a new saturation component that allows you to span all the available chroma as a neat percentage.

The reference implementation is written in Haxe and released under the MIT license. It can be found at https://github.com/hsluv/hsluv The math is available under the public domain.

Installation

The recommended way is to use MELPA. If either is in your package-archives, do

M-x package-install RET hsluv RET

or you could use something like use-package:

(use-package hsluv)

No further configuration is needed.

Using

The following functions provide the conversions from RGB to/from HSLUV and HPLUV:

(hsluv-hsluv-to-rgb (list H S Luv))

(hsluv-hpluv-to-rgb (list H P Luv))

(hsluv-rgb-to-hsluv (list R G B))

(hsluv-rgb-to-hpluv (list R G B))

Testing

If you want to run the tests, checkout this repository. Then, on a command-line near you, do:

$ make clean test

which will run the tests defined in test/hsluv-test.el.

Test results will be collected in the file test-results.log

About

HSLuv implementation for Emacs ELisp (revision 4)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published