我设法在我的头像上实现了圆角后期处理。它在我的Mac上工作正常,但在Windows上没有骰子。
看起来像这样
def self.convert_options(px = 10)
trans = ""
trans << " \\( +clone -alpha extract "
trans << "-draw 'fill black polygon 0,0 0,#{px} #{px},0 fill white circle #{px},#{px} #{px},0' "
trans << "\\( +clone -flip \\) -compose Multiply -composite "
trans << "\\( +clone -flop \\) -compose Multiply -composite "
trans << "\\) -alpha off -compose CopyOpacity -composite "
end
基于http://www.imagemagick.org/Usage/thumbnails/#rounded&amp; Rounded corners with Paperclip
我用
开始的大错误列表convert.exe: unable to open image `\\(': No such file or directory @ error/blob.c/OpenBlob/2638.
我想也许这与Windows转义字符有关?所以改成了\到^但是却得到了这个错误
convert.exe: unable to open image `black': No such file or directory @ error/blob.c/OpenBlob/2638.
ImageMagick正在工作,否则。它管理更简单的处理/调整大小。如果我使用GIT BASH将命令直接输入shell,那么该行会生成圆角文件而没有问题。
答案 0 :(得分:0)
一夜好眠(经过几千小时的尝试)让我想到了这个
def self.convert_options_win(px = 10)
trans = " "
trans << " ( +clone -alpha extract -draw \"fill black polygon 0,0 0,#{px} #{px},0 fill white circle #{px},#{px} #{px},0 \" "
trans << " ( +clone -flip ) -compose Multiply -composite "
trans << " ( +clone -flop ) -compose Multiply -composite ) "
trans << " -alpha off -compose CopyOpacity -composite "
end
工作正常。在行的开头不需要连续字符,因为它被截断为单个行字符串。 Windows shell更喜欢“双引号”到'单引号',所以只需要转义字符串中的那些。我尝试了这么多组合,简直不敢相信这就是这么简单。