修改SDL_ttf,支持动态设置字体大小

项目中使用SDL_ttf库渲染字体时发现无法改变字体大小。为解决此问题,通过修改SDL_ttf源码,添加TTF_SetFontSize函数,实现了在不关闭字体库的情况下动态调整字体大小,有效提高了效率。
摘要由CSDN通过智能技术生成

        最近有个项目使用到SDL_ttf库来渲染字体,但是遇到一点麻烦。大家在使用TTF_OpenFont()打开字体库之后,却无法更改字体大小,我们总不能关闭重新打开吧,因为那也太耗时了。于是乎决定修改源码,成功之后与大家分享。

1.SDL_ttf.h中添加函数extern DECLSPEC void SDLCALL TTF_SetFontSize(TTF_Font *font,int ptsize);

2.修改SDL_ttf.c

    SDL_ttf使用的是freetype来加载字体库,然后再使用freetype获取字体编码绘制字体到SDL_Surface上。最初实验总是不成功,结果大量的实验,原来是没有清除font导致不正确;加上Flush_Cache(font),成功搞定。

void TTF_SetFontSize(TTF_Font *font,int ptsize)
{
	FT_Fixed scale;
	FT_Error error;
	FT_Face face;
	
	face = font->face;
	
	/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值