- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想使用 gm() 和 NodeJS 制作马赛克图像,但它似乎不适用于我的代码,我认为问题是由于图像的原始尺寸(600 * 200),我的模板比图像小......
我的结果应该是这样的:
我的代码:
gm()
.in('-page', '+0+0')
.in('./public/images/instafilm.jpg') // my empty template, white and 142 * 500
.in('-page', '+10+10')
.resize(122, 122, '!')
.in('./public/images/firstimage.jpg') // 600 * 600
.in('-page', '+10+132')
.resize(122, 122, '!')
.in('./public/images/secondimage.jpg') // 600 * 600
.in('-page', '+10+164')
.resize(122, 122, '!')
.in('./public/images/thirdimage.jpg') // 600 * 600
.in('-page', '+10+296')
.resize(122, 122, '!')
.in('./public/images/fourthimage.jpg') // 600 * 600
.mosaic()
.minify()
.write(newFileName, function (err) {
if (!err) console.log('done');
if (err) console.log(err);
callback();
});
最佳答案
我不是通用汽车的专家,但以下是我的建议:
您可以尝试删除相对路径并使用绝对路径。另外,我不确定您是否需要在所有 .in('-page', '+10+xxx')
之后调整大小,我认为您可能会删除所有附加的图像。
另外,我认为您不需要包装图像。无论如何它都会被创建。
尝试:
gm()
.in('-page', '+10+10')
.in('/usr/home/**/firstimage.jpg') // absolute path
.in('-page', '+10+132')
.in('./public/images/secondimage.jpg') //absolute path
.in('-page', '+10+164')
.in('/usr/home/**/thirdimage.jpg') //absolute path
.in('-page', '+10+296')
.in('/usr/home/**/fourthimage.jpg') //absolute path
.mosaic()
.minify()
.write(myAbsoluteFilePath, function (err) {
if (!err) console.log('done');
if (err) console.log(err);
callback();
});
如果你需要一个矩阵,你可以使用类似的东西:
var img = gm();
for(var r = 0; r < settings.canvasSize.rows; r++){
for(var c = 0; c < settings.canvasSize.cols; c++){
var y = r * settings.imgSize.height + (settings.imgSize.marginY * r);
var x = c * settings.imgSize.width + (settings.imgSize.marginX * c);
img.in('-page', '+'+x+'+'+ y).in(settings.imgSize.path);
}
}
img
.mosaic()
.write(getNewFilename(), function(err){
console.log(err);
});
我使用 settings.imgSize.marginX
和 settings.imgSize.marginY
在图像之间创建边距。
关于node.js - 使用 GM() 和 NodeJS 制作马赛克图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176403/
我正在尝试编写一个基本的 Greasemonkey 脚本,但我遇到了一些问题。本质上,该脚本将刷新页面并计算页面上的图像数量。如果图像数量增加,它会提醒我并激活该选项卡。如果图像数量相同或更少,它将以
我在 iPhone 5s(型号 A1530,iOS 8 build 12A365)上使用 Xcode 6 GM Seed(build 6A313)。我通过 USB 避雷线连接 iPhone。但在 Xc
当我为 iOS 运行 Today 扩展程序时出现此错误: dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from:
我使用 iOS 10 Beta 7 和 Xcode 8 beta 测试了我的应用,一切正常。然而,就在几分钟前,我安装了现在可用的 GM 版本,但遇到了一个奇怪的问题。 我在我的应用程序中使用自定义表
我正在尝试更新我们的 iPhone 应用程序以与 iOS 8 一起使用,但是当我使用 XCode 6 进行构建时,它会在编译 Storyboard时卡住并开始占用磁盘空间和内存 - 这种情况偶尔会发生
我正在使用 AVAssetWriter,它在 iOS6 上完美运行。 问题是,当我调用 finishWritingWithCompletionHandler ,完成处理程序不会在 iOS7 GM 上调
我有以下 Buffer 对象数组,这些对象是从由 jpg 和 png, ] 我正在尝试使用 Node.js 库 gm 将图像拼接在一起。 var currentGm = gm(images.
我的源数据如下所示: ab ab 我在上面运行以下命令: function lintPost(postText) { var replacements = { a : "4",
我正在尝试在 javax.mail 中使用 google 为 gmail 创建的 X-GM-EXT-1 IMAP 扩展。文档在这里https://developers.google.com/gmail
网页上有 function fn982734() { // some code } 在我的 Greasemonkey 脚本中,我有以下代码: var fn = fields[
这个问题在这里已经有了答案: Stop execution of Javascript function (client side) or tweak it (5 个答案) 关闭 9 年前。 我试图
我想将我的 iPad 更新到 iOS 4.2(我是注册开发者),但我想等到最终版本。 GM是最终版本,还是GM之后的最终版本进行了更改? 最佳答案 不一定。它们可以被制作,但大多数时候 GM 将是最终
我正在尝试获取图像网址,获取图像,然后将其写入文件系统,然后调整其大小。在调整大小结束时,我想将其返回到响应,以便客户端获取图像。现在 stdout.pipe(res) 没有返回,我收到 events
我正在努力解决我的脚本问题。无论我尝试做什么 GM.xmlHttpRequest 都会抛出错误“不是函数”。 我的其余代码工作正常。 这是我的代码的删节版: // ==UserScript== //
我是 xcode 和 ios 开发的新手。最近我看到了 xcode 版本,例如 xcode 6.0 通用 然后 xcode 6.0 .我想知道我们应该用GM做什么或者我们需要等到非GM发布才能构建io
以下代码创建内容为未定义的警报: // ==UserScript== // @name Unnamed Script 188765 // @version 1 // @grant GM
我从一开始就开始使用测试版(我已经安装了xcode 9和xcode 10 beta),今天我卸载了xcode9并安装了xcode10GM,但是当我的 Storyboard中有一个项目时,图形元素没有显
我使用 OS 10.10,Xcode 6 GM,我的项目由 swift(和 Objective-C)编写。 该项目可以使用Xcode 6-beta7运行。 Process:
我正在开发一个 iOS 应用程序,它在 Xcode 11.7 上运行良好,但是当我在 Xcode 12 中运行相同的代码并且当我进入 UIPageViewController 时,应用程序运行到无限循
我正在使用 gm对于带有 express.js 的 linux 服务器上的 node.js。它适用于小于 2MB 文件大小的图像。但是一旦超过,代码就会停止工作。这是代码 gm('public/'+a
我是一名优秀的程序员,十分优秀!