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

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

本文关键字:ping 网络 API Magick++      更新时间:2023-10-16

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

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

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

我在"图像处理方法"下查看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返回void手册中没有说的。我什至不确定如何从中获取值。我应该只看一下源代码吗?有谁知道我在哪里可以找到更多关于此的阅读材料?或者有人熟悉Magick++。我很抱歉如此无能为力,但谷歌只是没有为我提供太多结果。

任何帮助将不胜感激!

ping 的返回类型是"void",因为它几乎与读取相同。ping 方法从图像中读取所有元数据,但一旦到达包含"像素数据"的部分,就会停止处理图像。您无法读取"像素数据",但您可以在图像被"ping"后获取列()行()。此信息也可在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;
}