Skip to content

CLI application to convert to 3-bit color images reminiscent of nostalgic PCs.

License

Notifications You must be signed in to change notification settings

PARA-DISO/PachImg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PachImg

入力画像

出力画像

output image

Overview

フルカラー画像から、懐かしのPCのような3bitカラー画像へ変換する。

Requirement

Linux(Ubuntu), Windows 11における動作を確認済み。
プログラムにはOS依存なコードは記述していないため、他の環境でもおそらく動作する。

動作確認環境

OS CPU MEMORY
Ubuntu 20.04 Intel Core i9-11900 64GB
Windows 11 AMD Ryzen 5 5625U 16GB

Usage

以下の例は、カレントディレクトリにpachimgの実行ファイルが存在する場合のもの。
Pathを通してある場合は、pachimg, 他の場所に実行ファイルが存在する場合は/PATH/TO/pachimg(/PATH/TOは実行ファイルへのパス)で置き換えること。

ヘルプを表示する

./pachimg -h

画像を640x400に合うようスケールし画像を3bitカラーに変換する。(アスペクト比は維持)

./pachimg -i [file_name] 

出力ファイルを指定し、画像を出力する。

./pachimg -i [file_name] -o [output_file_name]

入力画像のサイズを維持して変換する

./pachimg -i [file_name] --original_size

Installation

From source

一般的なRustのプログラムと同様にビルド。

方法1

  1. 本リポジトリをクローン or ダウンロード
  2. ダウンロードの場合のみ: ダウンロードしたファイルを解凍
  3. clone or 解凍したディレクトリへ移動
  4. clone or 解凍したディレクトリで以下のコマンドを実行
cargo build -r

clone or 解凍したディレクトリより./target/releaseの下にpachimg(windowsではpachimg.exe)が生成される。

必要であれば、実行ファイルを移動し、PATHを通す。

方法2

  1. 本リポジトリをクローン or ダウンロード
  2. ダウンロードの場合のみ: ダウンロードしたファイルを解凍
  3. clone or 解凍したディレクトリへ移動
  4. clone or 解凍したディレクトリで以下のコマンドを実行
cargo install --path .

Windows

windows用のインストーラpachimg-x.x.x-x86_64.msiをダウンロードし、実行。

Uninstallation

  1. 「設定」より、アプリ > インストールされているアプリへ移動
  2. 「pachimg」のメニューより、「アンインストール」を選択

Linux (Ubuntu)

  1. debianパッケージ.debをダウンロード
  2. 以下のコマンドを実行
sudo apt install pachimg_x.x.x-1_amd64.deb

Uinistallation

以下のコマンドを実行。

sudo apt remove --purge pachimg

Supported image formats

PNGやJPEG等image crateでサポートされている画像形式。
(webpは現在サポートしていません)

Using lookup table

ルックアップテーブルを実行時に指定することで、LUTを用いた変換を行う。
このリポジトリ直下LUT/内のファイルをダウンロードすることで、使用することができる。

また、次のようなLUTを作成することで、自由なLUTを使用することができる。

LUTは4096色のに対応する4画素の画素データで表現したものである。

LUTのデータ構造 := [[[r, g, b];4]; 4096]

LUTの例(一部分):

[
  [[0,0,0],[0,0,0],[0,0,0],[0,0,0]], // r:0, g:0, b:0
  [[0,0,0],[0,0,0],[0,0,0],[0,0,0]], // r:0, g:0, b:1
  [[0,0,0],[0,0,0],[0,0,0],[0,0,0]], // r:0, g:0, b:2
  ...

24bitカラー(各チャンネル8bit(0-255))から4096色(12bitカラー)への変換は以下の演算で行う
以下はRustでの変換コードである。x_srcが入力データである。

let (r, g, b) = (
    ((r_src as u32 * 0xF + 0x87) >> 8) as u8,
    ((g_src as u32 * 0xF + 0x87) >> 8) as u8,
    ((b_src as u32 * 0xF + 0x87) >> 8) as u8,
);

License

Copyright (c) 2024 PARADISO

pachimg is made available under the terms of the MIT license.

See the License files for license details.

About

CLI application to convert to 3-bit color images reminiscent of nostalgic PCs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages