0

我得到了以下脚本以各种尺寸导出我*.svg.png

#!/usr/bin/env bash

[[ ! -d png ]] && mkdir png/

for svg in logo.*.svg; do
  echo $svg $png
  sizes=( 64 128 256 512 1024 )
  for size in "${sizes[@]}"; do
    png="png/${svg//.svg/.$size.png}"
    [[ $png =~ vertical ]] && inkscape --without-gui --export-height=$size --export-png="$png" --file="$svg"
    [[ $png =~ horizontal ]] && inkscape --without-gui --export-width=$size --export-png="$png" --file="$svg"
  done
done

由于我想同时导出单色(黑白)和彩色版本,我目前同时拥有 SVG 版本:

  1. 标识。bw -horizo​​ntal.svg
  2. 标识。bw -vertical.svg
  3. logo.horizo​​ntal.svg
  4. logo.vertical.svg

问题

如何改进我的脚本以单色导出而不需要单色 SVG 文件?

编辑

有一个verb,但不知道如何使用它:

org.inkscape.effect.filter.Silhouette: Repaint anything visible monochrome  
4

1 回答 1

0

感谢@Bonanza 的鼓励

这是我的BATS 测试和进行转换的相关代码。它归结为:

  1. 将PNG导出为PNG
  2. 将PNG转换为单色convert

    convert "$png" -colorspace Gray "$monochrome"
    
于 2017-09-27T12:35:40.253 回答