image - rust 图像发布请求

标签 image rust qr-code

<分区>

我使用 qrcode-rust,它以 image::ImageBuffer 的形式返回结果。我需要将 png 结果发布到 thumbor 服务器。如何将此图像缓冲区转换为 Vec?。

我尝试了下面的代码,但是我的 buf 移动了,我对此无能为力。

let code = QrCode::new(arg1.as_bytes()).unwrap();
let images = code.render::<Luma<u8>>().build();
let mut buf: Vec<u8> = Vec::new();
let dims = images.dimensions();
let mut headers = HeaderMap::new();

image::png::PNGEncoder::new(buf)
    .encode(&images.into_raw(), dims.0, dims.1, ColorType::Gray(8))
    .expect("Error on encoding to png");

let len = buf.len(); //error here
headers.insert(CONTENT_TYPE, "image/png".parse().unwrap());
headers.insert("Slug", "photo.jpg".parse().unwrap());

最佳答案

我从 How do I encode a Rust Piston image and get the result in memory? 复制了一个答案并改变了

image::png::PNGEncoder::new(buf.by_ref()))
    .encode(
         &images.into_raw(), 
         dims.0, 
         dims.1, 
         ColorType::Gray(8),
    ).expect("Error on encoding to png");

现在一切正常。

关于image - rust 图像发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54760369/

相关文章:

rust - 为什么需要使用加号运算符 (Iterator<Item = &Foo> + 'a) 为特征添加生命周期?

barcode - 如何检测 TIFF 图像中的多个条形码/二维码并返回它们的值 + 位置?

android - 使用 ZXing 时 Xperia 设备上的 RuntimeException

vba - Excel VBA 图像 EXIF 方向

android - ListView 和图像

rust - 错误 : `line` does not live long enough but it's ok in playground

ruby-on-rails - 在 Ruby 中生成带有 Logo 或具有背景颜色的 QR 码

c# - 在 Windows 10 中配置图像控件

javascript - 需要对以下代码进行哪些更改才能设置 jQuery slider 的滑动暂停时间?

rust - 如何设置响应的状态码?