zoukankan      html  css  js  c++  java
  • Cairo Drawing Model

    Cairo Drawing Model

    Cairo是一个强力的2D绘图库.

    Destination

    是你最终绘图的目标, 可以是一系列Pixel或者绑定到SVG或PDF文件上.

    Source

    是实际在绘图时使用的图层, 可以是多种颜色也可以包含透明通道, 可以是某种模式或者由另一个Source(Surface)创建.

    Mask

    Mask是处于Source和Destination之间的图层, 包含遮罩效果. 当Source需要stamp到Destination上时, 需要根据Mask的属性来决定, 可能直接绘图, 也可能没有效果.

    Path

    在Mask层和Context中可能存在的, 类似绘图中的线.

    Context

    Context维护所有的绘图动作, 其中还包括一个destination, 一个sourece, 一个mask, 以及其他一些变量. 在做任意的绘图操作前都应该创建一个context. 例如:

    cairo_surface_t *surface;
    cairo_t *cr;
    
    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 120, 120);
    cr = cairo_create (surface);
    

    Verbs

    就是绘图的基本操作.

    Stroke(行程)

    类似于画笔, 一般是在mask层, 在source上面的图像经过mask层的遮罩, 映射到destination层时, 仅在画笔中的图像可以通过.

    Fill

    类似stroke, 就是在mask层挖洞, 可以让source层的图像映射到destination层.

    其他一些操作都是api级别的, 了解了绘图模型就可以直接使用了. 需要的时候自行查找文档.

  • 相关阅读:
    docker (centOS 7) 使用笔记3
    docker (centOS 7) 使用笔记4
    docker (centOS 7) 使用笔记2
    docker (centOS 7) 使用笔记1
    docker (centOS 7) 使用笔记3
    CentOS7 修改时区、charset
    p12(PKCS12)和jks互相转换
    tomcat7 日志设置为log4j
    Redis概述与基本操作
    Django学习笔记之安全
  • 原文地址:https://www.cnblogs.com/putuotingchan/p/8628736.html
Copyright © 2011-2022 走看看