magick++显示图像与CGI
Magick++ to display an image with CGI
我最近开始使用magick++ (ImageMagick的c++ API),目的是创建一个可以显示随机生成图像的网站。我试图写一个CGI脚本,它将创建一个JPEG图像,设置其像素的颜色,然后返回图像信息为Content-type: image/jpg
。
通读文档,我只找到用于将映像文件写入磁盘的函数。我没有看到一个会做我希望做的事情,沿着std::cout << Image
或std::cout << Blob
我的目标是能够在网页中显示由脚本生成的图像,而无需将图像写入磁盘。
我知道PerlMagick有一个显示函数,它可以做我想做的事情-我想知道我是否可以用magick++做同样的事情。
我想你正在寻找blobs - 二进制大对象。基本上,您将创建一个类型为Image
的映像和一个类型为Blob
的blob。您可以通过从文件中读取或生成随机数据来填充图像,然后将图像写入blob(对其进行编码),然后将其写入用户的浏览器。
请原谅我无用的C/c++技能…
Image image;
Blob blob;
// set type to JPEG
image.magick("JPEG");
// generate/read/fill image here
image.read("image.jpg");
// encode image as JPEG
image.write(&blob);
// now send MIME type to browser
std::cout << "Content-type: image/jpeg" << CRLF;
// ... followed by blob
write(1,(char*)blob.data(),blob.length());
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 平均图像时图像损坏
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- Vulkan验证层不断在VkQueuePresentKHR()上抛出图像布局错误
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 将图像添加到资源文件夹UWP C++
- 彩色图像的卤化物处理平均值
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 重新定位图像时如何前进到下一个内存块
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 为什么 BMP 图像上的 imwrite 会卡住/不返回?
- Gstreamer:每 5 秒使用多文件墨水保存图像/jpeg
- Cgicc 嵌入图像 - CGI 认为图像就是脚本
- Linux CGI Web API -如何在c++下输出二进制JPEG图像
- magick++显示图像与CGI