我正在尝试增加第一张图像的长度我有三张合并的图像,在第一张图像上它显示了一个白色的盒子,但是我希望那个白色的盒子覆盖整个第一张图像。可能会增加第一张图像的长度,我尝试使用重新调整大小,但它没有用。下面是代码。在图像中,黑色图像下面有一个白色的盒子,我希望黑色图像通过增加它的长度来覆盖那个白色空间。
图片插图
+---+---+---+---+
| user1 | user2 |
| |---+---+
| | user3 |
+---+---+---+---+
gm()
.in('-page', '+0+0')
.resize(50,100,"!")
.in('http://localhost:8080/user1')
.resize(50,100)
.in('-page', '+50+0')
.in('http://localhost:8080/user2')
.in('-page', '+50+50')
.in('http://localhost:8080/user3')
.mosaic()
.write('C:/images/output1.jpg', function (err) {
if (err) console.log(err);
});
答案 0 :(得分:0)
调整大小的问题是混合使用.in()
方法引起的,这些方法直接在命令行上插入了图形化库方法,这些方法对应该执行的操作应用了一些额外的启发式方法。添加.resize
尝试调整主图形对象的大小(然后由.mosaic
忽略,根据内容调整最终图像的大小。)
最简单的解决方案是使用基于.in()
的语法进行调整大小:
gm()
.in('-page', '+0+0')
.in('-resize', '50x100!')
.in('http://localhost:8080/user1')
.in('-page', '+50+0')
.in('http://localhost:8080/user2')
.in('-page', '+50+50')
.in('http://localhost:8080/user3')
.mosaic()
.write('C:/images/output1.jpg', function (err) {
if (err) console.log(err);
});
这适用于我对本地图像的测试。