4 个版本 (破坏性更新)
0.4.0 | 2023 年 10 月 18 日 |
---|---|
0.3.0 | 2022 年 5 月 14 日 |
0.2.0 | 2022 年 3 月 8 日 |
0.1.0 | 2021 年 4 月 25 日 |
#486 in 图像
43KB
868 行
retroimg
将图像转换为在复古 IBM 硬件上再现的外观。它还可以用于降低现有图像的色彩深度,以便在 DOS 游戏开发中使用。
原始 (640x480, 24 位 RGB) | VGA (320x200, 256 种颜色,4:5 像素) | EGA (320x200, 16 种颜色,4:5 像素) | CGA (320x200, 4 种颜色 + 背景) |
---|---|---|---|
完整的图像处理管道由以下步骤组成
- 裁剪和调整图像分辨率到低分辨率;
- 主调色板颜色量化并将映射到受限制的调色板,以及使用抖动进行颜色限制;
- 最近邻缩放到高分辨率,以使像素看起来更好,同时启用非正方形像素。
每个步骤都可以进行调整或跳过,以满足您的需求。
注意:此应用程序并不声称能够完美地模拟旧硬件,但应该能够达到足够好的结果,以满足怀旧的需求。
使用工具
主要选项包括
-s
|--standard
:要模拟的视频图形标准。这仅影响使用的颜色,不影响图像分辨率。可能的选项bw
:1 位,黑白cga
或cgamode4
:CGA 模式 4,尝试选择最佳的子调色板和背景颜色fullcga
:CGA 主调色板的 16 种颜色cgamode4high1
:CGA 模式 4,始终使用高强度(黑色、洋红色、白色、黑色)的子调色板 1ega
:EGA 主调色板的 64 种颜色16bit
:16 位颜色深度(4-5-4 RGB)vga
(默认)或18bit
:18 位主调色板true
或24bit
:24 位 RGB 颜色深度
-R WxH
:将图像调整到的分辨率。-S WxH
:全图输出大小,从上一个选项调整而来。-l L2
或-l L2
:用于颜色调色板选择的颜色距离/损失算法
将图像转换为类似在VGA模式13h中呈现的效果,像素非正方形
retroimg «IMAGEFILE» -s vga -R 320x200 -S 1440x1080 -o «out.png»
选择损失最小的256色调色板。要使用更少的颜色(例如100种)
retroimg «IMAGEFILE» -s vga -R 320x200 -S 1440x1080 -c 100 -o «out.png»
选择输出宽度或高度,并让程序根据像素比例选择其他维度
retroimg «IMAGEFILE» -s vga -R 320x200 --height 1080 -r 4:5 -o «out.png»
这将按4:5的像素大小成比例拉伸图像,这意味着它最适合为这种设计而设计的图像。
完整选项列表通过 retroimg -h
或 retroimg --help
显示。
使用库
执行这些操作所需的功能作为独立的函数提供。
为了消除与命令行应用程序相关的依赖关系,排除默认功能 cli
。
[dependencies.retroimg]
version = "0.3"
default-features = false
许可证
许可以下任一
- Apache许可证,版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选。
除非您明确声明,否则您提交给作品包含在内的任何有意贡献,根据Apache-2.0许可证定义,将如上所述双重许可,没有其他条款或条件。
依赖项
~17MB
~136K SLoC