提交 b730fe11 编写于 作者: W wizardforcel

2020-06-17 10:15:36

上级 9d969d52
......@@ -224,7 +224,7 @@ static void do_drawing(cairo_t *cr, GtkWidget *widget)
## 频谱效应
我们称其为频谱效应,因为它类似于旧的 ZX Spectrum 计算机。 当您将图像加载到这台计算机时,它逐渐出现在屏幕上。 下一个例子是基于这种经验。
我们称其为频谱效应,因为它类似于旧的 ZX 频谱计算机。 当您将图像加载到这台计算机时,它逐渐出现在屏幕上。 下一个例子是基于这种经验。
```
#include <cairo.h>
......
......@@ -197,7 +197,7 @@ GdkPixbuf *pb = gdk_pixbuf_get_from_window(root_win, 0, 0, width, height);
```
我们使用`gdk_pixbuf_get_from_window()`函数调用从根窗口中获得一个 pixbuf。 pixbuf 是描述内存中图像的对象。
我们使用`gdk_pixbuf_get_from_window()`函数调用从根窗口中获得一个`pixbuf``pixbuf`是描述内存中图像的对象。
```
cairo_t *cr = cairo_create(surface);
......
......@@ -22,10 +22,10 @@ Cairo 支持各种后端。 后端是用于显示创建的图形的输出设备
* X Window 系统
* Win32 GDI
* Mac OS X 石英
* Mac OS X
* PNG
* PDF 格式
* 后记
* PostScript
* SVG
这意味着我们可以使用该库在 Windows,Linux,Windows,OSX 上进行绘制,并且可以使用该库创建 PNG 图像,PDF 文件,PostScript 文件和 SVG 文件。
......
......@@ -85,7 +85,7 @@ cr.show_text("Disziplin ist Macht.")
```
我们将图像内的位置移至 x = 10.0,y = 50.0 并绘制文本。
我们将图像内的位置移至`x = 10.0``y = 50.0`并绘制文本。
```
ims.write_to_png("image.png")
......@@ -282,7 +282,7 @@ if __name__ == "__main__":
```
该示例弹出一个居中的 GTK 窗口,在该窗口上绘制“ Disziplin ist Macht”文本。
该示例弹出一个居中的 GTK 窗口,在该窗口上绘制“Disziplin ist Macht”文本。
```
from gi.repository import Gtk
......
......@@ -156,7 +156,7 @@ def on_button_press(self, w, e):
```
如果按下鼠标左键,我们会将其 x 和 y 坐标添加到`self.coords`列表中。
如果按下鼠标左键,我们会将其`x``y`坐标添加到`self.coords`列表中。
```
if e.type == Gdk.EventType.BUTTON_PRESS \
......@@ -345,9 +345,9 @@ Figure: Pen dashes
线帽是线的端点。
* Cairo 。LINE_CAP_BUTT
* Cairo 。LINE_CAP_ROUND
* Cairo 。LINE_CAP_SQUARE
* `Cairo.LINE_CAP_BUTT`
* `Cairo.LINE_CAP_ROUND`
* `Cairo.LINE_CAP_SQUARE`
Cairo 有三种不同的线帽样式。
......@@ -355,7 +355,7 @@ Cairo 有三种不同的线帽样式。
Figure: Square, round and butt caps
带有`cairo.LINE_CAP_SQUARE`帽的线的大小与带有`cairo.LINE_CAP_BUTT`帽的线的大小不同。 如果一行的宽度是 x 单位,则带`cairo.LINE_CAP_SQUARE`上限的行的尺寸将恰好是 x 单位; 开头 x / 2 个单位,结尾 x / 2 个单位。
带有`cairo.LINE_CAP_SQUARE`帽的线的大小与带有`cairo.LINE_CAP_BUTT`帽的线的大小不同。 如果一行的宽度是`x`单位,则带`cairo.LINE_CAP_SQUARE`上限的行的尺寸将恰好是`x`单位; 开头`x / 2`个单位,结尾`x / 2`个单位。
```
def on_draw(self, wid, cr):
......@@ -432,9 +432,9 @@ Figure: Line caps
可以使用三种不同的连接样式来连接线。
* Cairo 。LINE_JOIN_MITER
* Cairo 。LINE_JOIN_BEVEL
* Cairo 。LINE_JOIN_ROUND
* `Cairo.LINE_JOIN_MITER`
* `Cairo.LINE_JOIN_BEVEL`
* `Cairo.LINE_JOIN_ROUND`
![Bevel, Round, Miter line joins](img/882bb007d5a21034cead409243ffe34d.jpg)
......@@ -490,7 +490,7 @@ curve_to(x1, y1, x2, y2, x3, y3)
```
`curve_to()`方法将三次贝塞尔曲线样条添加到路径。 参数为第一控制点的 x 和 y 坐标,第二控制点的 x 和 y 坐标以及曲线末端的 x 和 y 坐标。
`curve_to()`方法将三次贝塞尔曲线样条添加到路径。 参数为第一控制点的`x``y`坐标,第二控制点的`x``y`坐标以及曲线末端的`x``y`坐标。
```
def on_draw(self, wid, cr):
......
......@@ -38,14 +38,14 @@ cr.rectangle(180, 20, 80, 80)
```
`rectangle()`方法用于创建正方形和矩形。 正方形只是矩形的一种特定类型。 参数是窗口左上角的 x 和 y 坐标以及矩形的宽度和高度。
`rectangle()`方法用于创建正方形和矩形。 正方形只是矩形的一种特定类型。 参数是窗口左上角的`x``y`坐标以及矩形的宽度和高度。
```
cr.arc(330, 60, 40, 0, 2*math.pi)
```
`arc()`方法创建一个圆。 参数是弧度中心的 x 和 y 坐标,半径以及弧度的开始和结束角度。
`arc()`方法创建一个圆。 参数是弧度中心的`x``y`坐标,半径以及弧度的开始和结束角度。
```
cr.arc(90, 160, 40, math.pi/4, math.pi)
......
......@@ -310,7 +310,7 @@ if __name__ == "__main__":
```
盲目效应背后的想法很简单。 图像高度为 h 像素。 我们绘制高度为 1px 的 0、1、2 ...线。 每个周期,图像的一部分高 1px,直到整个图像可见为止。
盲目效应背后的想法很简单。 图像高度为 h 像素。 我们绘制高度为`1px`的 0、1、2 ... 线。 每个周期,图像的一部分高`1px`,直到整个图像可见为止。
```
def load_image(self):
......@@ -334,7 +334,7 @@ def init_vars(self):
```
init_vars()方法中,我们初始化一些变量。 我们启动 self.timer 和 self.h 变量。 我们得到加载图像的宽度和高度。 然后我们创建一个空的图像表面。 它将用我们之前创建的图像表面的像素线填充。
`init_vars()`方法中,我们初始化一些变量。 我们启动`self.timer``self.h`变量。 我们得到加载图像的宽度和高度。 然后我们创建一个空的图像表面。 它将用我们之前创建的图像表面的像素线填充。
```
ic = cairo.Context(self.ims)
......@@ -364,7 +364,7 @@ if (self.h == self.ih):
```
当我们在 GTK 窗口上绘制整个图像时,我们将停止 timer 方法。
当我们在 GTK 窗口上绘制整个图像时,我们将停止`timer`方法。
```
cr.set_source_surface(self.image, 10, 10)
......
......@@ -166,7 +166,7 @@ GLib.timeout_add(cv.SPEED, self.on_timer)
```
每 14 毫秒调用一次 on_timer()方法。
每 14 毫秒调用一次`on_timer()`方法。
```
def on_timer(self):
......@@ -406,7 +406,7 @@ Figure: Reflected image
## 等待演示
在此示例中,我们使用透明效果创建一个等待演示。 我们将绘制 8 条线,这些线将逐渐消失,从而产生一种错觉,即一条线在移动。 此类效果通常用于通知用户幕后正在进行繁重的任务。 一个示例是通过 Internet 流式传输视频。
在此示例中,我们使用透明效果创建一个等待演示。 我们将绘制 8 条线,这些线将逐渐消失,从而产生一种错觉,即一条线在移动。 此类效果通常用于通知用户幕后正在进行繁重的任务。 一个示例是通过互联网流式传输视频。
```
#!/usr/bin/python
......@@ -587,7 +587,7 @@ for i in range(cv.NLINES):
```
for 循环中,我们绘制了 8 条具有不同透明度值的旋转线。 线以 45 度角分开。
`for`循环中,我们绘制了 8 条具有不同透明度值的旋转线。 线以 45 度角分开。
![Waiting demo](img/f38c4bb10b318abdbf68b7402604dd14.jpg)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册