All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
apply-theme
to generate random color from a given color and theme definitionwhiten
and blacken
to-XYZ1
, from-XYZ1
not scaled version (range from 0 to around 1)scale
3 or 4 channels by a value (to easier normalize rgb), also scale-up
, scale-down
Oklab
family: Okhsv
, Okhsl
and Okhwb
DIN99
color space family: :DIN99
, :DIN99b
, :DIN99c
, :DIN99d
and :DIN99o
reduce-colors
can accept a distance (as function or fastmath.distance
object), clarans
algorithm is used then (instead of xmeans
). clarans
path is very slow though.:onrepaint
refresher type for a window, leaves repainting a window for AWT. Good when you want to diplay a static image.:position
argument for window creation, sets location of the window in desired position.mixbox
pigment-based color mixing by Secret Weaponsgrid-qr-cell
to allow draw grid cells in q,r
coordinate systemclj-kondo
configsOklab
should use linear RGB not on sRGBUCS-OSA
color space should have different order of g
and j
channels.IPT
should operate on not scaled XYZ:nord
LDRenderer
with filtering should draw on bordersto-lch
and from-lch
renenamed to to-luma-color-hue
and from-luma-color-hue
#21LDRenderer
revisited
to-pixel
modes:
linear?
(default: false
), when true
turns off log
scalingsplats?
(default: false
), when true
averages pixel's values onlyvibrancy
is 1.0
by default (was 0.5
)0.0
to 1.0
)show-image
(and other functions in clojure2d.extra.utils
) uses :onrepaint
refreshing strategy by default.smile-mkl
is removed. openblas
seems to be enough for current functionality. This makes a package lighter (1GB -> 250MB).shape
introduced (all primitives have additiona shape version) + functions: bounding-box
, intersects-rectangle?
, contains-point?
and contains-rectangle?
shape->path-def
and path-def->shape
to construct path from a definition and backtext-shape
returns shape of the textload-font
loads fonts from a fileload-image
, load-svg
and load-bytes
can load from http URLs now:docc
) - https://github.com/mattdesl/dictionary-of-colour-combinationscvd-lens
function (a filter)mixsub
subtactive mixingadjust
adds a value to color channelcomplementary
to find complementary colorrandom-color
can select from various presets, also selects colors from palettes and known colorswavelength
returns color from light wavelength in nmclojure2d.color.cssgram
set of instagram-like filters + custom-filter
function:retina
hint added to support high density displays (first attempt, things might not work well)palette
should return a vector in every casepath
points should be any seq (not vector only)possible-color?
should recognize String as a valid colorHWB
colorspaces fixed to ensure reversibilityload-url-image
- use load-image
find-palette
and find-gradient
should be used to find names.compose-channels
applies alpha blending by default when alpha channel processing is turned off.lerp-
color interpolatorpossible-color?
catches gradientiq-gradient
wrong interpolation between two colorspalette
helper functiontemperature
to convert black-body emissions to colorget-channel
, set-channel
, modulate
- to manipulate channels in selected color spacerelative-luma
(WCAG version)!
draw
can cause NPE when accessing global state.HCL
is now proper HCL by Sarifuddin and Missaou (to use CIELab version use LCH)brighten
/darken
and saturate
/desaturate
corresponds to chroma.js nowmix
corresponds to chroma.js nowcontrast-ratio
reflects WCAG definition:always-on-top?
parameter to set window to be on toporient-canvas
- axis orientation functionsfilter-channel
, filter-channel-xy
, blend-channel
and blend-channel-xy
can accept function as a parameter single parameter (acts a partial)..set-composite
and composite
to compose drawing with canvas by Java2d, see java.awt.Composite:background
set panel background colorload-url-image
to handle loading from URLpattern-mode
to set textured fill for shapesset-background
uses SrcOver (default) composite. Previously was Src.from-
was clumping an inputpack
color into 32 bit integerresize
Pixelsreduce-colors
- selects color from cluster using mode
rather than centroidPixels
can be treated as sequence now (sequence of colors)reduce-colors
using x-means clustering algorithmiq-gradient
accepts also two colors (https://github.com/thi-ng/color/blob/master/src/gradients.org#gradient-coefficient-calculation)load-svg
and transcode-svg
addedmerge-renderers
can merge any number of renderers (previously only two).iq-random-gradient
also uses iq-gradient
for two colors generated by paletton generatorrandom-gradient
uses also iq-random-gradient functionfilled-with-stroke
is macro nowVec2
in some functions in clojure2d.core
random-gradient
will use only two interpolators (:cubic and :linear) to avoid exceed of the rangePlease note - breaking changes!
draw-fn
(via Window protocols)generateme/fastmath
librarymake-
prefixresize-image
and resize-canvas
are now moved to ImageProto as resize
Prefix make-
is reserved when function is created.
generateme/fastmath
projectwith-canvas
is no longer threading macro (use with-canvas->
for that):setup
parameter added to show-window
. It's run before displaying window. Parameters are: canvas (within context) and window. When returned value is not nil
it's used as initial state. In other case :draw-state
parameter is used.clamp255
returns double, for long version call lclamp255
filled-with-stroke
- to draw primitive with stroke and filledload-bytes
addeddraw
now displays exception when something is wrongwith-canvas
is renamed to with-canvas->
:highest
hint added (it's :high
with Stroke Pure)rendering-hints
is map of vectors now, it gave 25% speed gain during recreating graphics contextshow-window
parameters reorganized.Bugs, bugs, bugs + optimization for speed
Can you improve this documentation? These fine people already did:
tsulej, GenerateMe, genmeblog, generateme, genme & tslEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close