簡體   English   中英

從 memory ImageMagick 解碼 svg

[英]Decode svg from memory ImageMagick

如何從緩沖區解碼 svg 圖像? 我知道 SVG 只是文本,但除了從磁盤讀取之外,我不知道如何將它們解析為 Magick::Image。

#include <Magick++.h>
#include <stdio.h>
using namespace Magick;

int main() {
    printf("EnableOpenCL ret: %d\n", Magick::EnableOpenCL());
    Magick::Image svgImage;
    svgImage.read("input.svg"); // first read file
    svgImage.magick("png"); // then specify PNG format
    svgImage.write("output.png");
    return 0;
}

您可以將緩沖區復制到 Magick++ 的Magick::Blob中並將其傳遞給Magick::Image構造函數。

Magick::Blob svgData(memory_ptr, memory_length);
Magick::Image svgImage(svgData, svgRenderSize, "SVG");

其中memory_ptr是 memory 中 svg 數據的地址, memory_lengthsvgRenderSize memory_ptr Magick::Geometry實例的圖像大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM