最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

rust將bitmap位圖文件另存為png格式的方法

 更新時(shí)間:2024年03月28日 10:59:20   作者:會(huì)編程的大白熊  
通過(guò)添加依賴,轉(zhuǎn)換函數(shù)和單元測(cè)試操作步驟來(lái)解決將bitmap位圖文件另存為png格式文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)rust bitmap位另存為png格式的操作方法感興趣的朋友一起看看吧

本文提供了一種將bitmap位圖文件另存為png格式文件的方法。

添加依賴

cargo add image

轉(zhuǎn)換函數(shù)

use image::{
    codecs::png::PngEncoder, GenericImageView, ImageEncoder, ImageFormat,
    ImageResult,
};
use std::{
    fs,
    io::{BufReader, BufWriter},
    path::Path,
};
/// 將bitmap位圖轉(zhuǎn)換為png格式
pub fn to_png(bitmap_path: &Path, png_path: &Path) -> ImageResult<()> {
    // 讀取位圖文件
    let bitmap_fs = fs::File::open(bitmap_path).expect("Read bitmap");
    let buf_reader = BufReader::new(bitmap_fs);
    let img = image::load(buf_reader, ImageFormat::Bmp).unwrap();
    // 創(chuàng)建png空文件
    let png_file = fs::File::create(png_path)?;
    let ref mut buff = BufWriter::new(png_file);
    let encoder = PngEncoder::new(buff);
    // 轉(zhuǎn)換并寫png文件
    encoder.write_image(
        &img.as_bytes().to_vec(),
        img.dimensions().0,
        img.dimensions().1,
        img.color().into(),
    )
}

單元測(cè)試

use core_utils::image::bitmap;
use std::env;
#[test]
fn test_to_png() {
    // 讀取bitmpa文件
    let bitmap_path = env::current_dir().unwrap().join("tests/test-image.bmp");
    // 保存png文件
    let png_path = env::current_dir().unwrap().join("tests/test-image.png");
    bitmap::to_png(bitmap_path.as_path(), png_path.as_path()).unwrap();
}

到此這篇關(guān)于rust如何將bitmap位圖文件另存為png格式的文章就介紹到這了,更多相關(guān)rust bitmap位另存為png格式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Rust如何使用config配置API

    Rust如何使用config配置API

    這篇文章主要介紹了Rust如何使用config配置API,這里記錄了如何聲明配置類型,讀取配置,通過(guò)環(huán)境變量來(lái)覆蓋配置值等開發(fā)中常見(jiàn)的動(dòng)作,需要的朋友可以參考下
    2023-11-11
  • Rust數(shù)據(jù)類型之結(jié)構(gòu)體Struct的使用

    Rust數(shù)據(jù)類型之結(jié)構(gòu)體Struct的使用

    結(jié)構(gòu)體是Rust中非常強(qiáng)大和靈活的數(shù)據(jù)結(jié)構(gòu),可以用于組織和操作各種類型的數(shù)據(jù),本文就來(lái)介紹一下Rust數(shù)據(jù)類型之結(jié)構(gòu)體Struct的使用,感興趣的可以了解一下
    2023-12-12
  • Rust?Atomics?and?Locks內(nèi)存序Memory?Ordering詳解

    Rust?Atomics?and?Locks內(nèi)存序Memory?Ordering詳解

    這篇文章主要為大家介紹了Rust?Atomics?and?Locks內(nèi)存序Memory?Ordering詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Rust之Substrate框架中Core詳解

    Rust之Substrate框架中Core詳解

    Substrate是一個(gè)用于構(gòu)建區(qū)塊鏈的開發(fā)框架,它由Parity團(tuán)隊(duì)基于Rust語(yǔ)言開發(fā)而成,是一個(gè)開箱即用的區(qū)塊鏈構(gòu)造器,本文詳細(xì)介紹了Substrate框架中的Core,需要的朋友可以參考下
    2023-05-05
  • Rust語(yǔ)言數(shù)據(jù)類型的具體使用

    Rust語(yǔ)言數(shù)據(jù)類型的具體使用

    在Rust中,每個(gè)值都有一個(gè)明確的數(shù)據(jù)類型,本文主要介紹了Rust語(yǔ)言數(shù)據(jù)類型的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • 90%的Rust新手都不知道的3個(gè)實(shí)用開發(fā)技巧小結(jié)

    90%的Rust新手都不知道的3個(gè)實(shí)用開發(fā)技巧小結(jié)

    Rust是一個(gè)新興的系統(tǒng)級(jí)編程語(yǔ)言,以其獨(dú)特的所有權(quán)系統(tǒng)和借用檢查器而聞名,盡管它被認(rèn)為是一門相對(duì)較難的語(yǔ)言,但只要掌握了正確的學(xué)習(xí)方法,你會(huì)發(fā)現(xiàn)Rust其實(shí)并不復(fù)雜,這篇文章主要介紹了90%的Rust新手都不知道的3個(gè)實(shí)用開發(fā)技巧,需要的朋友可以參考下
    2026-06-06
  • Rust常用特型之ToOwned特型示例詳解

    Rust常用特型之ToOwned特型示例詳解

    在Rust中,假定某類型實(shí)現(xiàn)了Clone特型,如果給你一個(gè)對(duì)它引用,那我們得到它指向內(nèi)容的備份的最常見(jiàn)方式是調(diào)用其clone()函數(shù),這篇文章主要介紹了Rust常用特型之ToOwned特型,需要的朋友可以參考下
    2024-04-04
  • Rust重載運(yùn)算符之復(fù)數(shù)四則運(yùn)算的實(shí)現(xiàn)

    Rust重載運(yùn)算符之復(fù)數(shù)四則運(yùn)算的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Rust如何實(shí)現(xiàn)復(fù)數(shù)以及復(fù)數(shù)的四則運(yùn)算,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-08-08
  • rust 如何使用 cargo-nextest 替代 cargo test

    rust 如何使用 cargo-nextest 替代 cargo te

    cargo-nextest 是新一代的rust測(cè)試程序,能夠極大提升測(cè)試性能,可以完全替代 cargo test 命令,這篇文章主要介紹了rust 如何使用 cargo-nextest 替代 cargo test,需要的朋友可以參考下
    2024-05-05
  • Rust?連接?PostgreSQL?數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程

    Rust?連接?PostgreSQL?數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程

    這篇文章主要介紹了Rust?連接?PostgreSQL?數(shù)據(jù)庫(kù)的完整代碼,本文圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01

最新評(píng)論

牟定县| 太和县| 天峻县| 郎溪县| 噶尔县| 云梦县| 阳谷县| 宿迁市| 宾川县| 平潭县| 宣威市| 丽水市| 修水县| 营口市| 蓬溪县| 玉龙| 六枝特区| 西城区| 福贡县| 利辛县| 伊宁市| 七台河市| 马龙县| 邯郸县| 金华市| 嘉善县| 巴林右旗| 诏安县| 水城县| 江门市| 且末县| 涿州市| 自治县| 汉寿县| 叶城县| 宁陵县| 新蔡县| 迁西县| 宾阳县| 怀安县| 云霄县|