繁体   English   中英

Magick ++ API和ping的示例(非联网ping)

[英]Examples of Magick++ api and ping (not networking ping)

我正在尝试将Magick ++ API(ImageMagick的一部分)用于c ++,并且我已经寻找了一段时间,并且在Google上没有看到太多的文档或示例。 关于它有很多很好的文档,但是我找不到关于如何使用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 ++的人。 抱歉,我这么笨,但是google并没有为我带来太多结果。

任何帮助将非常感激!

ping的返回类型为“ void”,因为它几乎与read相同。 ping方法从图像中读取所有元数据,但是一旦到达包含“像素数据”的部分,就会停止处理图像。 您无法读取“像素数据”,但可以在对图像执行“ ping”操作后获取column()rows() 您也可以在以下网站的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;
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM