[英]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 ++做到這一點。
我認為您正在尋找blob- 二進制大對象 。 基本上,您將創建一個Image
類型的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());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.