美文网首页iOS控件
用UIGraphics进行2D图像渲染 不要用UIGraphic

用UIGraphics进行2D图像渲染 不要用UIGraphic

作者: 762683ff5d3d | 来源:发表于2017-03-03 11:02 被阅读0次

用UIGraphics进行2D图像渲染 不要用UIGraphicsBeginImageContext(size); 不然图片会模糊

Core Graphics API所有的操作都在一个上下文中进行。所以在绘图之前需要获取该上下文并传入执行渲染的函数中。如果你正在渲染一副在内存中的图片,此时就需要传入图片所属的上下文。获得一个图形上下文是我们完成绘图任务的第一步,你可以将图形上下文理解为一块画布。如果你没有得到这块画布,那么你就无法完成任何绘图操作。当然,有许多方式获得一个图形上下文,这里我介绍两种最为常用的获取方法。

调用UIGraphicsBeginImageContextWithOptions函数就可获得用来处理图片的图形上下文。利用该上下文,你就可以在其上进行绘图,并生成图片。调用UIGraphicsGetImageFromCurrentImageContext函数可从当前上下文中获取一个UIImage对象。记住在你所有的绘图操作后别忘了调用UIGraphicsEndImageContext函数关闭图形上下文。

上代码:

- ( UIImage *)createShareImage:( NSString *)str name:( NSString *)name number:( NSString *)number grade:( NSString *)grade

{

UIImage *image = [ UIImage imageNamed : @"shareGrade" ];

CGSize size= CGSizeMake (image. size . width , image. size . height ); // 画布大小

UIGraphicsBeginImageContextWithOptions (size, NO , 0.0 );

[image drawAtPoint : CGPointMake ( 0 , 0 )];

// 获得一个位图图形上下文

CGContextRef context= UIGraphicsGetCurrentContext ();

CGContextDrawPath (context, kCGPathStroke );

// 画 打败了多少用户

[str drawAtPoint : CGPointMake ( 30 , image. size . height * 0.65 ) withAttributes : @{ NSFontAttributeName :[ UIFont fontWithName : @"Arial-BoldMT" size : 30 ], NSForegroundColorAttributeName :[ UIColor whiteColor ] } ];

//画自己想画的内容。。。。。

// 返回绘制的新图形

UIImage *newImage= UIGraphicsGetImageFromCurrentImageContext ();

UIGraphicsEndImageContext ();

return newImage;

}

相关文章

  • IOS在图片上画文字,非常简单

    用UIGraphics进行2D图像渲染 不要用UIGraphicsBeginImageContext(size);...

  • 用UIGraphics进行2D图像渲染 不要用UIGraphic

    用UIGraphics进行2D图像渲染 不要用UIGraphicsBeginImageContext(size);...

  • 1-2.着⾊器渲染过程

    渲染将图形/图像数据转换成2D空间图像操作叫做渲染(Rendering)图⽚/按钮/视频-->显示绘制到屏幕过程,...

  • 图像渲染

    图像渲染的过程 图像 => GPU将图片解码 => GPU进行图像渲染 => 存储到帧缓存区 => 视频控制器...

  • OpenGLES视频渲染框架应用

    渲染 用3D数据生成一个2D图像的过程。 数据饥饿 CPU擅长运算,读写内存较慢,当CPU的性能因为等待内存读写而...

  • OpenGL备忘录

    渲染 用3D数据生成一个2D图像的过程 数据饥饿 CPU擅长运算,读写内存较慢,当CPU的性能因为等待内存读写而处...

  • 十、OpenGL - 公转自转优化(镜面及纹理)

    setupRC函数 创建需要的小球,地板,加载图像为2D纹理 渲染 大小球的渲染是相同的,我们可以将功能抽离出来 ...

  • 初识OpenGL

    什么是OpenGL OpenGL是一套可以对计算机图形硬件设备(GPU)进行访问的API。主要用于渲染2D/3D矢...

  • OpenCV用BGR通道顺序将图像文件读到内存

    OpenCV用BGR通道顺序将图像文件读到内存,在做图像处理之前,要用cvtColor()函数将颜色通道顺序进行转...

  • OpenGL投影矩阵

    概述 电脑显示器是2D平面,一个3D物体通过OpenGL渲染投影到2D显示器平面形成图像,GL_PROJECTIO...

网友评论

    本文标题:用UIGraphics进行2D图像渲染 不要用UIGraphic

    本文链接:https://www.haomeiwen.com/subject/jddfpttx.html