【Rust】画像を読み込む

アプリ開発
スポンサーリンク

Rust プロジェクトを作成

次のコマンドで新しい Rust プロジェクトを作成します。

cargo new rust-project-1

VS Code のエクスプローラーで、src>main.rs ファイルを開きます。

とりあえず動くか確認します。

main関数の上の Run ボタンを押すと実行されて、下のターミナルに結果が表示されればOK。

画像を読み込む

依存関係の追加

Rustで画像を読み込むには、imageライブラリを使用します。

まず、Cargo.tomlファイルに以下の行を追加して imageライブラリを依存関係に追加します。

[dependencies]
image = "0.24.5"

また、次のコマンドで最新版のimageライブラリを追加することもできます。

cargo add image

コード

以下のコードで、画像を読み込むことができます。

use std::path::Path;
use image::GenericImageView;

fn main() {
    // 画像ファイルのパスを定義
    let image_path = Path::new("./image/FrWJHNxaYAQOG6I.jpg");

    // 画像を読み込み、イメージオブジェクトを作成
    let img = match image::open(image_path) {
        Ok(img) => img,
        Err(e) => panic!("Failed to load image: {}", e),
    };

    // 画像の幅と高さを取得
    let (width, height) = img.dimensions();
    println!("width: {}", width);
    println!("height: {}", height);

    // 画像のピクセルデータを取得
    let pixels = img.into_rgb8().into_vec();

    // 画像の処理
    // ...

    // ピクセルデータを元のフォーマットに戻す
    let img = image::RgbImage::from_vec(width, height, pixels).unwrap();

    // 画像を保存
    img.save("output.jpg").unwrap();
}

実行すると、ターミナルに画像サイズ、フォルダーに画像が出力されます。

おわりに

Visual Studio Code で Rust を書くには rust-analyzer拡張機能 がオススメです。

コード補完、構文の強調表示、形式の指定、デバッグなど便利に使うことができるようになります。

GitHub

今回作成したプロジェクト一式

GitHub - noitaro/rust-image-open
Contribute to noitaro/rust-image-open development by creating an account on GitHub.

参考

image - Rust
Overview
Windows で Rust 用の開発環境を設定する
Rust を使用した Windows での開発に興味を持っている初心者に向けた、開発環境の設定。
タイトルとURLをコピーしました