- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将这个简单的 GraphicsMagick 示例作为 Node 绑定(bind)/插件。此代码在带有 GraphicsMagick 1.3.15 的 OSX 10.6.7 中按预期工作
#include <Magick++.h>
#include <iostream>
using namespace std;
int main(int argc,char **argv)
{
Magick::InitializeMagick(0);
Magick::Image image;
try {
image.read( "snow.jpg" );
image.scale("320");
image.write( "snow-scaled.jpg" );
}
catch( Magick::Exception &error_ ) {
cout << "Caught exception: " << error_.what() << endl;
return 1;
}
cout << "Image scaled!" << endl;
return 0;
}
Compiling:
g++ scale.cpp `GraphicsMagick++-config --cppflags --cxxflags --ldflags --libs`
Running:
./a.out
Image scaled!
但是将此代码设为 Node 绑定(bind) (0.6.14) 只会卡住 ( see full gist ):
void AsyncWork(uv_work_t* req) {
std::cout << "AsyncWork..." << std::endl;
Baton* baton = static_cast<Baton*>(req->data);
baton->result = 12345; // Just a test
Magick::Image image; // <--- Freezes here!
image.read("snow.jpg");
std::cout << "Scaling..." << std::endl;
image.scale("200");
std::cout << "Done!" << std::endl;
image.write("snow-scaled.jpg");
// and baton->error to true.
}
从 javascript 调用它时的输出:
AsyncWork...
有什么问题吗?附带说明一下,这实际上在 Ubuntu 下编译/运行时有效!
最佳答案
您是否尝试过在 AsyncWork
中使用 Magick::InitializeMagick(0);
进行初始化?异步函数在池线程上运行。
你总是可以将完成的 GM 插件 git here .
关于c++ - Node 插件 (OSX) 中的 GraphicsMagick 代码卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574241/
根据GraphicsMagick man page我可以使用 -crop 从一个图像创建多个图块没有偏移: If the x and y offsets are omitted, a set of t
我想转换一组文件,但不覆盖现有文件。如何使用 mogrify 指定最终文件格式?例如firstpic.png -> firstpic-thumbnail.png、secondpic.png -> se
我想将输入的 8 位 PNG 图像转换为 8 位。 我试过使用 GraphicsMagick。但我不知道如何在 GraphicsMagick 中转换 png8。 当我这样使用命令时: gm 转换 so
我正在使用GraphicsMagick for node并尝试在“乌尔都语/阿拉伯语”的图像上绘制文本,该文本“??”,文本正在输出图像上绘制,但它是“从左到右”绘制的,而它必须是“从右到左”作为阿拉
我有一系列具有透明背景的 PNG 图像,我想将它们叠加到也具有透明背景的目标 PNG 图像上。为了论证起见,我们假设这一系列图像是: 源图片:img1.png、img2.png、img3.png 目标
我正在尝试使用 graphicsmagick 调整图像的大小。 我需要它适合特定的宽度和高度。但是,使用以下命令:-resize 400x200 它会调整大小直到图像达到宽度或高度属性之一,而我需要它
GM has build option quantum which defines the bitdepth to use when reading an image. Building GM wit
我正在尝试使用 GM 向现有图像添加文本,或者作为最后的手段创建一个带有文本的新图像,然后我可以将其与原始图像合成。出于某种原因,我似乎无法开始工作...... 我在 Windows 上使用 GM 1
我目前正在构建一个 MEAN 应用程序,我当前正在处理的部分涉及图像上传。我正在尝试使用GraphicsMagick for Node但我并没有真正取得任何成功。以下是我的图像上传 POST 请求(按
我尝试使用 cfs:graphicsmagick 包生成缩略图,但生成的只是一个空图像。 当我启动服务器时,一切看起来都很好: I20150108-10:43:14.698(-8)? => Graph
我在使用 GraphicsMagick 时遇到问题。我正在重新排列图像中的像素并尝试保存它,但生成的图像始终相同。如何让它在保存前更新图像? 这是我的代码: PixelPacket *write_pi
我发现 (C) API 非常复杂,有很多函数听起来像是在做同样的事情。 blobimageregistrystreams>之间的关系让我很困惑。 有没有人找到教程或者可以阐明 GraphicsMagi
我正在这样做 gm(jpgName).setFormat('jpg') .resize(160,158) .compress('JPEG') .write(fs.createWrite
我正在使用 mupx 部署 meteor 构建。 Graphicsmagick 安装在系统上(以及 imagemagick),两者都在 ubuntu 14.04 上使用 apt-get。尝试转换图像时
我需要获取图像的特定裁剪并将其放在另一个图像的某个位置并调整大小。 我可以在一个命令中裁剪第一个图像并将其保存到一个文件中,然后我可以在另一个命令中合成这两个图像。 但是,我想在一个命令中完成它 -
在尝试了我可能想到的所有命令组合之后,我仍然无法让它工作。 我有一个可以改变大小的大图像:Logo.png我有一张“已知”尺寸的小图片:Wallpaper.png 我想让 Logo 出现在墙纸的左下角
我已经在 OSX 10.9 上安装了 GM。执行gm version打印以下内容: GraphicsMagick 1.3.18 2013-03-10 Q8 http://www.GraphicsMag
我设置了以下函数来捕获上传的图像,转换它们并将它们写入服务器。如何重命名转换后的文件? 目前,该函数获取上传的图像并保存图像的一个版本。 目标: 根据图像大小保存上传图像的多个版本。 附加文件名和图像
如何使用 GraphicsMagick 从图像中删除背景颜色?我需要从图像中删除 rgb(255,255,255) 和 rgb(254,254,254) 颜色并将它们替换为透明度。 谢谢。 最佳答案
我正在使用 QT 开发图像处理工具。我是 QT 和 graphicsmagick(magick++) c++ 库的新手。我计划使用 C++ 作为我的开发语言。谁能建议我如何获取 graphicsmag
我是一名优秀的程序员,十分优秀!