ios UIKit的图形上下文

来源:互联网 发布:淘宝中国白银原料批发 编辑:程序博客网 时间:2024/05/16 11:34

    1.  在调用drawRect之前,视图对象会自动配置其描画环境,使得可以立即进行绘制。  


    2. UIView会为当前描画环境创建一个图形上下文(对应于CGContextRef封装类型)。该图形上下文,包括执行描画命令所需要的信息,定义各种基本的描画属性,比如描画使用的颜色,裁剪区域,线宽度,等等。


    3. 在Quartz中,捕捉屏幕的描画命令,用于创建图像或者PDF文件,  使用CGBitmapContextCreate,   CGPDFContextCreate 来创建上下文。

        定制图形上下文的坐标系统和iPhone OS使用的本地坐标系统是不同的。与后者的坐标原点位于左上角不同的是,前者的坐标原点位于左下角,其坐标值向上向右递增。您在描画命令中指定的坐标必须对此加以考虑,否则,结果图像或PDF文件在渲染时就可能会发生错误。 

    4.  由于在位图或PDF上下文中进行描画时使用的是左下原点,所以在将描画结果渲染到视图上的时候,必须对坐标系统进行补偿。换句话说,如果您创建一个图像,并调用CGContextDrawImage函数来进行描画,则该图像在缺省情况下是上下颠倒的。为了纠正这个问题,您必须将CTMy轴进行翻转(即将该值乘以-1),使其原点从左下角移动到视图的左上角。如果使用UIImage对象来包装您所创建的CGImageRef类型,则不需要修改CTMUIImage对象会自动对CGImageRef类型的坐标系统进行翻转补偿。 

原创粉丝点击