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 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
任选。
除非您明确声明,否则您提交给作品包含在内的任何有意贡献,根据Apache-2.0许可证定义,将如上所述双重许可,没有其他条款或条件。
依赖项
~17MB
~136K SLoC







