如何将char * buffer转换为unsigned char缓冲区

时间:2015-12-04 22:05:25

标签: c++ image-processing gtk3 taglib

我有这个代码来保存缓冲区中的图像:

   FILE * fout;      
  fopen_s(&fout, "output.jpg", "wb");
  fwrite(pictureFrame->picture().data(), pictureFrame->picture().size(), 1, fout);

通过这种方式,我使用taglib保存封面。 " pictureFrame-> picture()。data()"是char * buffer;

我刚尝试在gtk +窗口中显示封面图片。但是我收到了错误 - char *类型的参数与类型" const guchar *"的参数不兼容。

我知道,我必须将char * buffer转换为unsigned char缓冲区,但我不知道如何。有人能帮助我吗?

pixbuf_loader = gdk_pixbuf_loader_new ();
gdk_pixbuf_loader_write (pixbuf_loader, pictureFrame->picture().data(), pictureFrame->picture().size(), NULL);

Link to gdk_pixbuf_loader documentation

1 个答案:

答案 0 :(得分:1)

当你陷入困境时,你只是 弄脏了!像(yuk!):

fwrite(reinterpret_cast<unsigned char*>(pictureFrame->picture().data()), pictureFrame->picture().size(), 1, fout);