首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magick++ api和ping的示例(不是网络ping)

Magick++ api和ping的示例(不是网络ping)
EN

Stack Overflow用户
提问于 2015-03-09 01:50:45
回答 1查看 965关注 0票数 0

我正在尝试将Magick++ API (ImageMagick的一部分)用于c++,我已经浏览了很长一段时间,还没有在谷歌上看到那么多文档或示例。关于它有很多很好的文档,但是我找不到任何关于如何使用ping() (而不是网络ping)函数来返回c++程序中图像大小的信息。我试图创建一个blob对象,并像在错误中看到的那样使用它。

我看过很多相同的一般手册,比如:

http://web.mit.edu/graphics/share/ImageMagick/www/Magick++/Image.html#Image%20Attributes,与http://www.imagemagick.org/Magick++/Image.html相同

我在“图像处理方法”下查看了ping,并看到它以一个const Blob &blob_作为输入。我试着做了以下工作,尽管我不太确定我在用ping()做什么。我还有很多事情要做,只是搞不清楚。

代码语言:javascript
复制
#include <Magick++.h> 
#include <iostream> 
using namespace std; 
using namespace Magick; 
int main(int argc,char **argv) 
{ 
        InitializeMagick(*argv);

        Image master("horse.jpg"); 
        Image second = master; 

        // tried creating a blob (Binary Large OBject) per the error
        Blob blob; 
        master.write ( &blob);  

        cout << blob.ping(&blob) << endl; 
        // also tried
        // cout << master.ping() << endl;
        // cout << master.ping( &blob) << endl;

        return 0
} 

我甚至找不到很多关于Magick++或ping的例子。

代码语言:javascript
复制
test3.cpp:15:26: note: candidates are:
In file included from /usr/include/ImageMagick/Magick++.h:10:0,
                 from test3.cpp:1:
/usr/include/ImageMagick/Magick++/Image.h:501:21: note: void Magick::Image::ping(const string&)
     void            ping ( const std::string &imageSpec_ );
                     ^
/usr/include/ImageMagick/Magick++/Image.h:501:21: note:   candidate expects 1 argument, 0 provided
/usr/include/ImageMagick/Magick++/Image.h:507:21: note: void Magick::Image::ping(const Magick::Blob&)
     void            ping ( const Blob &blob_ );
                     ^
/usr/include/ImageMagick/Magick++/Image.h:507:21: note:   candidate expects 1 argument, 0 provided

因此,我猜ping返回了手册中没有提到的void。我甚至不知道我怎么能从中得到价值。我应该看看源代码吗?有人知道我在哪里能找到更多关于这个的读物吗?或者是否有人熟悉Magick++。很抱歉,我对此一无所知,但谷歌并没有给我带来太多的结果。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-09 09:45:58

ping的返回类型是'void‘,因为它的操作与read几乎相同。ping方法从图像中读取所有元数据,但一旦到达包含‘像素数据’的部分,就停止处理图像。您不能读取‘像素数据’,但是您可以在图像被'pinged‘之后获得列()和行()。这些信息也可以在Magick++的文档中找到:http://www.imagemagick.org/Magick++/Image.html

下面是如何使用ping方法的示例:

代码语言:javascript
复制
#include <Magick++.h> 
#include <iostream> 
using namespace std; 
using namespace Magick; 
int main(int argc,char **argv) 
{ 
  InitializeMagick(*argv);

  Image master; 
  master.ping("horse.jpg");
  cout << master.columns() << "x" << master.rows() << endl; 

  return 0;
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28934131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档