Maybe this is a bit much like hammering a square peg into a round hole, but after messing around with Inkscape for a bit, I couldn't find an easy way to change the overall color of an SVG file (such as what several of the banknote designs posted here use) with it. Since SVG is just a bunch of text, it's not much work to use standard command-line tools to do most of the work.
First, grab a file you want to edit. For this example, I'll use graphnote.svg from
https://casascius.com/graphnote.zip. First, we need to extract the colors used:
grep "#" graphnote.svg | sed "s/.*#/#/;s/\".*//" | sort | uniq | grep -v "^#$" | grep -v "#SVGID" >graphnote-original-colors.txt
You may want to remove black (#000000), white, (#FFFFFF), and any grays (#666666, etc.) from the list. Doing this with graphnote.svg produces 13 distinct colors. Next, make a swatch file:
c=0; for i in `cat graphnote-original-colors.txt`; do dec_color="`echo $i | sed "s/#//;s/\(..\)/\$\(\(0x\1\)\) /g;s/^/echo /" | bash`"; pbmtext $i >/var/tmp/tmp$$hdr.pbm; (echo P3 64 64 255; for j in `seq 1 4096`; do echo $dec_color; done) >/var/tmp/tmp$$.ppm; pnmcat -tb /var/tmp/tmp$$hdr.pbm /var/tmp/tmp$$.ppm >/var/tmp/tmp$$_`printf "%03d\n" $c`.ppm; c=`echo $c + 1 | bc`; done; pnmcat -tb /var/tmp/tmp$$_*.ppm | pnmtopng -comp 9 >graphnote-original-colors.png; rm /var/tmp/tmp$$*
Next, load the swatch file into the image editor of your choice and adjust the colors. I use the GIMP. First, you'll want to select Image -> Mode -> RGB to enable the color editing we want to do. Next, select Tools -> Color Tools -> Hue-Saturation... to tweak the colors. Make sure Master is selected as the color to adjust, then use the hue, lightness, and saturation controls to shift the color swatches to something you think will look good. To make a green bill out of graphnote.svg, try setting hue to 70 and saturation to -15. Save the result back to a new PNG file (e.g., graphnote-70,0,-15.png).
Now we need to read the colors out of the edited swatch file:
pngtopnm graphnote-70,0,-15.png | pnmnoraw | awk 'BEGIN {lc=0} lc%837 == 265 {printf("#%02x%02x%02x\n",$1,$2,$3)} {lc++}' >graphnote-70,0,-15.txt
Finally, we can use the original file and the two color table files (the text files generated) to create a new SVG in the desired color:
sed "`awk 'BEGIN {ln=0} {line[ln++]=$0} END {for (i=0; igraphnote-70,0,-15.svg
You will then end up with something like this (if you don't see a green Bitcoin note below, your browser is out-of-date and needs to be upgraded):
Repeat all but the first two steps to produce notes in however many colors you want.