- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想检查损坏的 jpeg 图像,到目前为止,我可以直接在命令行中使用 identify image.jpg
输出:
image.jpg JPEG 1920x1200 1920x1200+0+0 8-bit sRGB 65.5KB 0.000u 0:00.009
identify: Premature end of JPEG file `image.jpg' @ warning/jpeg.c/JPEGWarningHandler/352.
identify: Corrupt JPEG data: premature end of data segment `image.jpg' @ warning/jpeg.c/JPEGWarningHandler/352.
或者 gm identify image.jpg
输出:
image.jpg JPEG 1920x1200+0+0 DirectClass 8-bit 64.0Ki 0.000u 0:01
gm identify: Corrupt JPEG data: premature end of data segment (image.jpg).
gm identify: Corrupt JPEG data: premature end of data segment (image.jpg).
如果我可以使用 gm package 就好了也可以获取损坏的 JPEG 数据。简单地使用 identify()
输出大量数据,但没有关于损坏数据的信息
gm('image.jpg')
.identify('%C',function (err, data) {
if (!err) console.log(data)
else console.error(err)
});
我在自述文件中注意到了这条注释:
If gm does not supply you with a method you need or does not work as you'd like, you can simply use gm().in() or gm().out() to set your own arguments.
我试过这样的:
gm()
.command("identify")
.in('image.jpg');
但我没有得到任何输出,所以我可能做错了。
我也试过 node-cmd:
cmd.get(
'gm identify image.jpg',
function(data){
console.log('output: ',data)
}
);
但我只看到输出的第一行。
通过 gm
包从 identify
获取多行输出的干净/推荐方法是什么?否则,什么是读取识别命令的完整输出的 Node 优雅解决方案。
更新我的猜测是字符串未使用 gm
显示,因为它来自 stderr
,而不是 stdout
。
我已经使用 this snippet 的调整版本进行了测试:
var spawn = require('child_process').spawn;
var bin = "identify"
var args = ['image.jpg'];
var cspr = spawn(bin, args);
cspr.stderr.on('data', function (data) {
data += '';
console.log(data.replace("\n", "\nstderr: "));
});
cspr.on('exit', function (code) {
console.log('child process exited with code ' + code);
process.exit(code);
});
通过 gm
获取 stderr
输出的简洁方法是什么?
最佳答案
关于 node 或 Javascript 我没有资格多说什么,但下面的想法可能会让你开始运行。
据我了解,您想使用 identify
但无法捕获其 stderr
。不过,我们确实知道如何捕获 convert
的 stderr
。因此,建议以一种模仿 identify
功能的方式调用 convert
,但使用 convert
的调用接口(interface)。
你可以这样做:
gm convert someImage.jpg info:-
如果需要,可选择添加 -verbose
。
显然在 node
中看起来像这样!
gm(jpgPath)
.command('convert')
.write('out.png', function(err, stdout,stderr){
console.log("stderr",stderr);
});
关于javascript - 如何使用 node.js 和 gm 检查损坏的 jpg 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43346425/
我正在尝试编写一个基本的 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
我是一名优秀的程序员,十分优秀!