游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2930|回复: 5

请教各位大侠,photoshop 的平滑效果是怎么实现的???

[复制链接]

6

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2008-12-22 17:06:00 | 显示全部楼层 |阅读模式
请教各位大侠,photoshop 的平滑效果是怎么实现的???
  我想用程序实现字体的photoshop 的平滑效果,但不知道这个原理是什么.用高斯平滑方法也不怎么象,
求助各位大侠???

21

主题

125

帖子

135

积分

注册会员

Rank: 2

积分
135
QQ
发表于 2008-12-22 19:07:00 | 显示全部楼层

Re:请教各位大侠,photoshop 的平滑效果是怎么实现的???

教你一种简单方法, 先把字体放大到原来的6倍储存图片, 之后利用平滑缩放.
另一种方法是利用freetype库/.
还有其它方法, 比如话变为矢量再计算.

14

主题

77

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2008-12-23 06:51:00 | 显示全部楼层

Re:请教各位大侠,photoshop 的平滑效果是怎么实现的???

字体的平滑跟高斯模糊是两回事

想提高文字的平滑效果,就要换更好的字体渲染引擎

6

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2008-12-23 09:21:00 | 显示全部楼层

Re: Re:请教各位大侠,photoshop 的平滑效果是怎么实现的???

greenlitchi: Re:请教各位大侠,photoshop 的平滑效果是怎么实现的???

教你一种简单方法, 先把字体放大到原来的6倍储存图片, 之后利用平滑缩放.
另一种方法是利用freetype库/.
还有其它方法, 比如话变为矢量再计算.

谢谢两位给我的思路!!!
请教greenlitchi:
    我现在用的是freetype平滑效果,但是显示的时候有时不如photoshop,打个比方,做一个"一"字,由于freetype用的是贝塞尔曲线,它对直线不会处理,所以象素高度为1;我希望能得到一个比较宽的"一",就是象素高度为2的平滑效果,对其它的汉字也是一样,还望大侠指教.

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2008-12-23 13:49:00 | 显示全部楼层

Re:请教各位大侠,photoshop 的平滑效果是怎么实现的???

FreeType的光栅化程序存在一定的BUG

倒也不是BUG,只是在笔画特别多的字时会出现精度不够而引起的图形不正确。这个笔画多少,相对来讲,中文差不多全是笔画特别多的。

如楼上所说,最简单的办法是你用FreeType直接生成若干倍大的字,再用超级采样方式将其变小,就能得到很好看的字了。

比如你要渲染16x16点阵的字,你就用FreeType先生成128x128大小的无抗矩齿字符图片,然后按每8x8个格内的点数量,以这个数量为16x16点阵的字的那一个点的亮度。这样你就能生成一个16x16的8x超级采样的字符图片了,而且很平滑。

14

主题

77

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2008-12-24 05:57:00 | 显示全部楼层

Re:请教各位大侠,photoshop 的平滑效果是怎么实现的???

这些免费的东西,效果当然无法与ADOBE拳头产品相提并论。要是随便谁都有那个本事,ADOBE也不用混了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 15:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表