项目有个需求需要将输入的文字发送到硬件上显示。由于之前的项目采用的方法是通过字库获取文字数据发送到硬件显示即可,但这样有个不足的地方就是个别汉字无法显示,敏体字也无法显示。解决办法是将输入的文字绘制成图片,然后获取图片的像素数据发送到显示上显示即可。要实现这个需求关键有2步。
首先将汉字给制到一张bmp的透明图片上,后续方便获取汉字部份的像素数据,代码如下
-(BOOL) converOneText:(NSString *)text
bufferIn:(byte *)buffer
{
//加载图像
UIImage *sourceImage = [UIImage imageNamed:@"透明图片.bmp"];
//图像尺寸
CGSize imageSize;
imageSize = [sourceImage size];
//比例1:1
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 1.0);
//绘制点
[sourceImage drawAtPoint:CGPointMake(0, 0)];
//获得 图形上下文
CGContextRef context=UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 5.0);// 设置画笔宽度
CGContextDrawPath(context, kCGPathStroke);
CGFloat nameFont = imageSize.width;
//画 自己想要画的内容
//[UIFont fontWithName:@"TRENDS" size:nameFont]
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.alignment = NSTextAlignment

为了解决iOS项目中个别汉字和敏体字无法通过字库正常显示的问题,本文介绍了一种方法:将输入的文字绘制到图片上,再转换成像素数据,从而确保所有汉字都能在硬件上正确显示。主要分为两步,首先是将文字绘制到透明背景的BMP图片,然后提取图片的汉字部分的像素信息。
最低0.47元/天 解锁文章
1966

被折叠的 条评论
为什么被折叠?



