IOS 将文字写绘制成图片并转换为像素数据

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

项目有个需求需要将输入的文字发送到硬件上显示。由于之前的项目采用的方法是通过字库获取文字数据发送到硬件显示即可,但这样有个不足的地方就是个别汉字无法显示,敏体字也无法显示。解决办法是将输入的文字绘制成图片,然后获取图片的像素数据发送到显示上显示即可。要实现这个需求关键有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 = [[NSMu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值