Online @ https://michaelpaulukonis.github.io/polychrome.p5/
Polychrome - or many colors.
Traditionally, text and image are segregated in Western Art.
This web-app plays with those boundaries, providing an polychromatic text painting environment.
Although the word polychrome is created from the combining of two Greek words, it was not used in ancient Greece. The term was coined in the early nineteenth century by Antoine Chrysostôme Quatremère de Quincy. (source)
Output multiple images
Run the pcttool
to stitch them together using ffmpeg
and ImageMagick's convert
brew install ffmpeg
and brew install imagemagick
See below for some ffmpeg notes
Conversion of my Processing.js text-app from WebText sketches
Previous version online @ http://www.xradiograph.com/netart/024.html
THIS IS A HORRIBLE MISH-MASH of procedural code, wannabe-functional-light code, and un-planned cowboy coding GUI and core function are intermingled (although less so than originally)
This is a fun variation, but might be going a bit afield of the purpose. https://github.com/rbyte/Kaleidoscope https://github.com/coldhead/kaleidos
I'm looking in automation via puppeteer. It's a thought.
They're not recordings of actions (although that was the original idea). They're preprogrammed actions. They are evolving, which is good.
Instead of painting entire screen, paint repeating tiles - which is the thing the grid painter is doing already, on a letter-by-letter level.
So, who knows.
Would be nice to have the circles centered anywhere - larger, smaller, etc.
Everything is flat. No shadows, no dimensions, no pretend angles.
But.... someday? Who knows.
https://www.openprocessing.org/sketch/168364/ https://www.openprocessing.org/sketch/129166/ - I think this was the basis of my circle code
http://genekogan.com/code/p5js-transformations/ - some of the combined transforms are interesting
https://github.com/bit101/quicksettings => the raw, unwrapped version looks like it should work better than the p5 gui wrapper The "wrapper" requires the variables to be globals. UGH. IT does not appear to work with object parameters
http://repo.zebkit.org/latest/samples/uidemo.html#
https://idmnyu.github.io/p5.js-func/ ???
I ended up going with Quicksettings - it doesn't have a built-in save-selector, but I'm building my own, and it seems to work!
I started with a vue-version of Dat.gui, but had some difficulties getting the updated settings into the sketch. Some disconnect in my head, and quite possible with my mish-mash of passing-by-reference and use of this
all over the place (ugh!).
I'm quite happy with the look of Quicksettings - it's not perfect, but has a few features I really like.
https://stackoverflow.com/questions/13806483/increase-or-decrease-color-saturation
https://css-tricks.com/hsl-hsla-is-great-for-programmatic-color-control/
http://code.iamkate.com/javascript/colour-handling-and-processing/
COLOR SCHEMES: https://programmingdesignsystems.com/color/color-schemes/index.html
https://medium.com/@behreajj/color-gradients-in-processing-v-2-0-e5c0b87cdfd2
https://tylerxhobbs.com/essays/2016/working-with-color-in-generative-art
https://sighack.com/post/procedural-color-algorithms-monochromatic-color-scheme
https://medium.com/@KristinHenry/coloring-generative-art-pages-522a5dd7f892
https://www.wired.com/story/very-mathematical-history-perfect-color-combination/
https://chris.de/posts/an-algorithm-to-generate-color-palettes/
Over time, my use/the use of color has come to be really important. That is the core of the name, after all. And, TBH, when you're piling text on top of text, if they don't have different-enough colors you just get a blob.
http://www.louisapenfold.com/albers-interaction-of-color/
It is now possible to record and playback most activity. Not all of it is recorded correctly, and needs work. Also, I'd really like to extend it by a simple language (ay-yi-yi) to allow for some looping. Have a look at https://www.npmjs.com/package/tracery-grammar and https://github.com/kyranet/tracery
This will take all png files in a folder and make one .mp4 from all them.
The size will be of the largest image, with all other images centered (unscaled) and padded with black.
See notes on pad
for more.
ffmpeg -r 15 -f image2 -pattern_type glob -i '*.png' -vf pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2" -vcodec libx264 -crf 17 -pix_fmt yuv420p 'combined.mp4'
mogrify -path '/home/hamy/Documents/JP2_Wrangling/2DArtist_066/Processed' -verbose -quality 95 -format jpg *.jp2
magick mogrify -path './' -verbose -format png *.jp2
magick mogrify -path './' -verbose -format jpg *.jp2
mkdir denslow
pdfimages -verbose -j denslow.goose.2003goudy25765.pdf ./denslow
for FILENAME in $(ls .bpm; do convert $FILENAME ${FILENAME%.}.png
for x in .webp; do dwebp {} -o ${x%.}.png ::: $x; done
for x in .bpm; do convert ${x%.}.png ::: $x; done
convert *.pbm -set filename:fn '%[basename]' '%[filename:fn].png'