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

Examples of Magick++ api and ping (not networking ping)

我正在尝试将 Magick++ API(ImageMagick 的一部分)用于 C++,我已经四处寻找了一段时间,但没有看到那么多关于 [=37= 的文档或示例].有很多关于它的好文档,但我找不到任何关于如何使用 ping()(不是网络 ping)函数来 return C++ 程序中图像的大小信息。我试图制作一个 blob 对象并像我在错误中看到的那样使用它。

我看过很多相同的通用手册,例如:

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

我正在查看 "Image Manipulation Methods" 下的 ping,发现它需要一个 const Blob &blob_ 作为输入。我尝试执行以下操作,但我不太确定我在用 ping() 做什么。我还有很多其他的东西在工作,就是想不通。

#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 的示例。

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 returns void 手册中没有说明。我什至不确定如何从中获得价值。我应该只看一下源代码吗?有谁知道我在哪里可以找到更多关于这个的阅读材料?或者是否有人熟悉 Magick++。很抱歉我这么无能,但是 google 对我来说并没有太大的影响。

如有任何帮助,我们将不胜感激!

ping的return类型是'void',因为它几乎和read一样。 ping 方法从图像中读取所有元数据,但一旦到达包含 'pixel data' 的部分就停止处理图像。您无法读取 'pixel data' 但在图像 'pinged'.此信息也可在 Magick++ 文档中找到,可在此处找到:http://www.imagemagick.org/Magick++/Image.html.

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

#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;
}