tanalin.com 上的“整数缩放”是什么,提供哪些工具?
更新时间
整数缩放(целочисленное масштабирование)是指把画面按 2×、3× 等整数倍放大,让每个原始像素对应完整的像素块,从而避免非整数倍拉伸带来的模糊和插值失真。tanalin.com 是开发者 Марат Таналин 的个人网站,整数缩放是其核心主题之一:站内既有解释原理的文章、演示和问答,也提供面向 Windows、浏览器和 SNES 模拟器的现成工具,以及可供二次开发的程序库。
整数缩放解决什么问题
普通缩放把 1280×720 的画面拉到 1920×1080 时,比例是 1.5 倍,一个原始像素无法对应整数个屏幕像素,显卡只能用插值“猜”中间颜色,结果就是文字发虚、像素画糊边。整数缩放只允许 2×、3× 这类倍数,多出来的屏幕区域用黑边填充,画面因此保持锐利。
代价是画面不一定铺满屏幕:在 1080p 显示器上放大 720p 内容,2× 会得到 2560×1440,超出屏幕,只能退回 1× 或接受黑边。这也是站内专门讨论“双模式显示器”和提供测试工具的原因——不同显示器对整数倍率的支持差异很大。
网站提供的工具
| 工具 | 平台 | 作用 |
|---|---|---|
| IntegerScaler | Windows 7+ | 对游戏等全屏程序做整数倍缩放,避免画面模糊 |
| SmartUpscale | Firefox、Chrome 扩展 | 在整数倍缩放图片时关闭浏览器的平滑处理,保持像素锐利 |
| bsnes-mt | SNES 模拟器 | 带整数缩放的 Super Nintendo 模拟器 |
| IntegerScaling | C++ / Rust / JS / PHP 库 | 供开发者在自己的程序中实现整数缩放 |
此外站内还有一批 Windows 小工具,如修正 Win 7 地址栏长度的 ExplorerHiDpiFix、多行编辑 Path 变量的 MultilinePathEnv、面向 LCD 的 WhiteScreen 与面向 OLED 的 BlackScreen 屏保等,它们与缩放主题相关但用途更杂。
配套资料怎么用
如果只是想搞懂原理,可以先读站内的整数缩放文章,配合演示页面观察放大前后的差别,再翻问答部分排查自己显示器的表现。文章之外还有算法说明,适合想自己实现缩放逻辑的开发者;IntegerScaling 库则把这套逻辑封装成了多语言版本,接入时不必从零推导。
需要提醒的是,站内资料以俄语为主,工具和库的具体版本、系统要求应以页面当前说明为准,本文不代为推断未列出的参数。
适合谁
- 玩老游戏或像素游戏、被全屏模糊困扰的 Windows 用户:优先试 IntegerScaler,并先用站内测试工具确认显示器支持的倍率。
- 在浏览器里查看像素图、截图对比的普通用户:SmartUpscale 是轻量选择,装完在整数倍场景下自动生效。
- SNES 玩家:bsnes-mt 把整数缩放直接做进了模拟器。
- 开发者:先看算法文章,再按技术栈选 IntegerScaling 的对应语言版本。
网站本身还包含作者的音乐作品和网站开发服务介绍,但就“整数缩放”这一主题而言,上述工具与文章构成了一个从原理到落地的完整入口。