首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不透明背景上的亚像素光栅化

不透明背景上的亚像素光栅化
EN

Stack Overflow用户
提问于 2015-01-29 06:34:02
回答 1查看 229关注 0票数 0

我正在做一个亚像素的光栅化器。输出将呈现在不透明的位图上。到目前为止,我已经正确地将文本呈现为黑底白字(因为我基本上可以忽略位图的内容)。

问题在于混合。每个实际渲染的像素也会影响其相邻像素的强度级别,这是因为低通滤波技术(我使用5抽头fir - 1/9,2/9,3/9等),以及要渲染的像素的alpha级别。然后这个结果必须被字母混合到目标图像上,这就是问题发生的地方……

像素相互作用的结果必须相加才能获得正确的亮度-并将字母混合到目的地-但如果我一次栅格化一个像素,我将“丢失”先前像素的信息,因此,进一步添加可能会导致溢出。

这应该怎么做呢?我能想象的唯一可行的解决方案是,渲染到一个单独的图像,每个颜色都有alpha通道,然后是一些复杂的混合算法,最后是alphablend。不知何故。

然而,除了lcd子像素渲染和监视器像素的漂亮特写图像的基本概念之外,我找不到任何关于如何实际操作的资源。如果有人能一路帮助我,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2015-02-20 00:17:22

今夜我醒来,再也睡不着了。我不能让所有的大脑能量都被浪费掉,并被完全相同的问题绊倒。

我想出了两种不同的解决方案,都未经验证。

  • 您必须使用3个通道的alpha蒙版,每个子像素一个通道,将每种颜色与其自己的alpha混合。
  • 如果您只渲染灰色/BW字体(如果您在浅色背景色上绘制深色文本,则为1- color _value),则可以使用每个颜色通道作为alpha蒙版,再次单独应用每种颜色。在这种情况下,颜色值本身应视为1。

希望这会有一点帮助,我用它填满了~2小时的失眠。

~ Jan

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28203744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档