ImageMagick使用特殊的角点绘制矩形

ImageMagick使用特殊的角点绘制矩形,imagemagick,mask,rounded-corners,Imagemagick,Mask,Rounded Corners,嗨,我想创建一个带有“特殊角落”的面具图像。我称它们为特殊,因为我真的不知道如何用英语称呼它们。以下是我想要实现的目标: 我现在用的是 convert xc:black -size 300x300 -fill white -draw "roundrectangle 3,3,296,296,5,5" 但这给了我圆角提前感谢您的建议。这里有一个链接,指向一个页面,显示如何实现您想要的效果以及其他效果 这是页面中的代码: convert thumbnail.gif -alpha set -co

嗨,我想创建一个带有“特殊角落”的面具图像。我称它们为特殊,因为我真的不知道如何用英语称呼它们。以下是我想要实现的目标:



我现在用的是

convert xc:black -size 300x300 -fill white -draw "roundrectangle 3,3,296,296,5,5"

但这给了我圆角

提前感谢您的建议。

这里有一个链接,指向一个页面,显示如何实现您想要的效果以及其他效果

这是页面中的代码:

convert thumbnail.gif -alpha set  -compose DstOut \
      \( -size 20x15 xc:none -draw "polygon 0,0  0,14 19,0" \
         -write mpr:triangle  +delete \) \
      \( mpr:triangle             \) -gravity northwest -composite \
      \( mpr:triangle -flip       \) -gravity southwest -composite \
      \( mpr:triangle -flop       \) -gravity northeast -composite \
      \( mpr:triangle -rotate 180 \) -gravity southeast -composite \
      corner_cutoff.png

您应该查看这些示例,因为还有另一种方法可以用于较小的图像。

这里有一个链接,指向一个页面,显示了如何实现所需效果以及其他效果

这是页面中的代码:

convert thumbnail.gif -alpha set  -compose DstOut \
      \( -size 20x15 xc:none -draw "polygon 0,0  0,14 19,0" \
         -write mpr:triangle  +delete \) \
      \( mpr:triangle             \) -gravity northwest -composite \
      \( mpr:triangle -flip       \) -gravity southwest -composite \
      \( mpr:triangle -flop       \) -gravity northeast -composite \
      \( mpr:triangle -rotate 180 \) -gravity southeast -composite \
      corner_cutoff.png

您应该查看这些示例,因为还有另一种方法可以用于较小的图像。

这里有一种方法

convert -size 300x300 xc:none                   \
   -shave 10 -bordercolor black -border 10      \
   -fill black -draw "polyline 0,0 30,0 0,30"   \
   \( +clone -flip \) -gravity north -composite \
   \( +clone -flop \) -gravity south -composite -background white -flatten result.png
那就是说。。。“画一个全尺寸透明的矩形,四周剃掉10个像素,加上10个像素的黑色边框(比做数学运算,做一个280x280,每边加10个容易多了).在左上角画一个三角形。复制整个形状并翻转,然后在原稿上绘制。复制整个形状并翻转,然后在原稿上再次绘制。现在将所有透明区域都变成白色。”

这里有另一种方法——也许更简单一点。绘制原始正方形,然后复制,按平方根(2)(即141%)放大,加厚边框,旋转45度并将其合成到自身上。这取决于你的大脑是如何工作的

magick -size 300x300 xc:none -shave 10 -bordercolor black -border 10 \
  \( +clone -scale 142% -shave 30 -border 30 -rotate 45 \)  \
  -gravity center -composite -background white -flatten result.png

这里有一种方法

convert -size 300x300 xc:none                   \
   -shave 10 -bordercolor black -border 10      \
   -fill black -draw "polyline 0,0 30,0 0,30"   \
   \( +clone -flip \) -gravity north -composite \
   \( +clone -flop \) -gravity south -composite -background white -flatten result.png
那就是说。。。“画一个全尺寸透明的矩形,四周剃掉10个像素,加上10个像素的黑色边框(比做数学运算,做一个280x280,每边加10个容易多了).在左上角画一个三角形。复制整个形状并翻转,然后在原稿上绘制。复制整个形状并翻转,然后在原稿上再次绘制。现在将所有透明区域都变成白色。”

这里有另一种方法——也许更简单一点。绘制原始正方形,然后复制,按平方根(2)(即141%)放大,加厚边框,旋转45度并将其合成到自身上。这取决于你的大脑是如何工作的

magick -size 300x300 xc:none -shave 10 -bordercolor black -border 10 \
  \( +clone -scale 142% -shave 30 -border 30 -rotate 45 \)  \
  -gravity center -composite -background white -flatten result.png

“照片角”“照片角”