added a coouple of scripts to help me vectorize multi-layer photoshop files into svg
This commit is contained in:
Executable
+70
@@ -0,0 +1,70 @@
|
||||
## requires inkscape potrace npm npm(svg-join) imagemagick
|
||||
# for all
|
||||
extra="-k .85"
|
||||
# for spray
|
||||
#extra="-t 1 -u 1.5 -k .75"
|
||||
temp="temp.png"
|
||||
for i;
|
||||
do
|
||||
ppm_file="${i%.*}.ppm"
|
||||
png_file="${i%.*}.png"
|
||||
convert -size 512x512 xc:#00000000 $temp
|
||||
|
||||
for j in $(identify -format "%[scene] " "$i");
|
||||
do
|
||||
if [ $j -gt 0 ]
|
||||
then
|
||||
psd_layer=$i[$j];
|
||||
g=$(identify -format "%[g]" $i[$j]);
|
||||
out_layer=${i%.*}_layer-$j
|
||||
|
||||
color=$(convert $psd_layer -alpha off -resize 1x1 TXT:- | grep -oE "[\#0-9ABCDEF]{7}")
|
||||
|
||||
if [ $((0x${color:1:2})) -lt 60 ]
|
||||
then
|
||||
$(true)
|
||||
color="#000000"
|
||||
else
|
||||
if [ $color = "#FFFFFF" ]
|
||||
then
|
||||
$(true)
|
||||
#echo "Uno blanco"
|
||||
else
|
||||
#echo "Uno gris"
|
||||
color="#888888"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
composite $psd_layer -geometry $g $temp $out_layer.png;
|
||||
convert $out_layer.png -alpha extract -negate -normalize $out_layer.ppm;
|
||||
rm $out_layer.png;
|
||||
#potrace $out_layer.ppm -b svg --flat --progress $extra;
|
||||
potrace $out_layer.ppm -b svg --flat $extra;
|
||||
#cat $out_layer.svg | echo sed "s/#000000/$(echo $color)/"
|
||||
#cat $out_layer.svg | sed "s/#000000/$(convert $psd_layer -alpha off -resize 1x1 TXT:- | grep -oE "[\#0-9ABCDEF]{7}")/" > tmp.svg
|
||||
cat $out_layer.svg | sed "s/#000000/$color/" > tmp.svg
|
||||
mv tmp.svg $out_layer.svg
|
||||
rm $out_layer.ppm;
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
#convert "$i" -layers composite -alpha extract -extent 512x512 $png_file;
|
||||
#convert "$i" -background white -flatten $ppm_file;
|
||||
|
||||
#potrace $ppm_file -b svg --flat --progress -t 1 -u 1.5 -k $k
|
||||
#potrace $ppm_file -b svg --flat --progress $extra
|
||||
#base_name=${ppm_file%.*}
|
||||
#inkscape -f $base_name.svg -E $base_name.eps
|
||||
#rm $ppm_file $base_name.svg
|
||||
done
|
||||
svgs=$(ls ${i%.*}*svg)
|
||||
mergesvg.py $svgs ${i%.*}.svg
|
||||
#inkscape -f ${i%.*}.svg -E ${i%.*}.eps
|
||||
#rm ${i%.*}.svg
|
||||
rm $(echo $svgs)
|
||||
rm $temp
|
||||
Reference in New Issue
Block a user