目录
blit()
convert()
convert_alpha()
copy()
fill()
scroll()
set_colorkey()
get_colorkey()
set_alpha()
get_alpha()
lock()
unlock()
mustlock()
get_locked()
get_locks()
get_at()
set_at()
get_at_mapped()
get_palette()
get_palette_at()
set_palette()
set_palette_at()
map_rgb()
unmap_rgb()
set_clip()
get_clip()
subsurface()
get_parent()
get_abs_parent()
get_offset()
get_abs_offset()
get_size()
get_width()
get_height()
get_rect()
get_bitsize()
get_bytesize()
get_flags()
get_pitch()
get_masks()
set_masks()
get_shifts()
set_shifts()
get_losses()
get_bounding_rect()
get_view()
get_buffer()
_pixels_address
功能:将一个图像(Surface 对象)绘制到另一个图像上方。
属性:blit(source, dest, area=None, special_flags = 0) -> Rect
注意:
功能:修改图像(Surface 对象)的像素格式。
属性:
注意:为了让 pygame 可以更快的处理图像绘制,请加载一个图像(不带透明)后立刻使用 convert() 对其像素格式进行转换。
功能:修改图像(Surface 对象)的像素格式,包含 alpha 通道(小甲鱼温馨提示:即 pixel alphas,见前边讲的透明度控制部分)。
属性:
注意:为了让 pygame 可以更快的处理图像绘制,请加载一个图像(带透明)后立刻使用 convert_alpha() 对其像素格式进行转换。
功能:创建一个 Surface 对象的拷贝。
属性:copy() -> Surface
对当前 Surface 对象进行拷贝,返回的 Surface 对象拥有相同的像素格式、调色板和透明度设置。
功能:使用纯色填充 Surface 对象。
属性:fill(color, rect=None, special_flags=0) -> Rect
提示:RGB即三原色 R(Red),G(Green)和 B(Blue),它们每个颜色的值为 0 ~ 255,通过不同程度的混合可以得到非常多的其他颜色。RGBA 其实就是在三原色的基础上添加一个 A(alpha)通道,用于控制每个像素的透明度,范围依然是 0 ~ 255。
功能:移动 Surface 对象。
属性:scroll(dx=0, dy=0) -> None
功能:设置 colorkeys。
属性:
功能:获取当前的 colorkeys。
属性:get_colorkey() -> RGB or None
返回 Surface 对象当前 colorkeys 的颜色值,如果没有设置 colorkeys,则返回 None。
功能:设置整个图像的透明度。
属性:
注意:如果参数传入 None,pixel alphas 设置透明度的方式也会失效。
功能:获取整个图像的透明度。
属性:get_alpha() -> int_value or None
返回 Surface 对象当前的整体透明度,如果没有设置 surface alpha,则返回 None。
功能:锁定 Surface 对象的内存使其可以进行像素访问。
属性:lock() -> None
功能:解锁 Surface 对象的内存使其无法进行像素访问。
属性:unlock() -> None
功能:检测该 Surface 对象是否需要被锁定。
属性:mustlock() -> bool
功能:检测该 Surface 对象当前是否为锁定状态。
属性:get_locked() -> bool
当该 Surface 对象被锁定时(无论被重复锁定多少次),返回 True。
功能:返回该 Surface 对象的锁定。
属性:get_locks() -> tuple
返回该 Surface 对象当前存在的锁定。
功能:获取一个像素的颜色值。
属性:get_at((x, y)) -> Color
注意:Pygame 1.9.0 之前该函数是返回一个元祖,此后是返回一个 Color 对象。如果需要得到一个元祖,可以使用 tuple(surf.get_at((x,y))) 进行转换(一般只有在需要将颜色作为字典的键时,你才需要这么做)。
功能:设置一个像素的颜色值。
属性:set_at((x, y), Color) -> None
功能:获取一个像素映射的颜色索引号。
属性:get_at_mapped((x, y)) -> Color
Pygame 1.9.2 新增加的。
功能:获取 Surface 对象 8 位索引的调色板。
属性:get_palette() -> [RGB, RGB, RGB, ...]
返回一个最多包含 Surface 对象映射的 256 种颜色的列表,事实上返回的列表就是调色板的拷贝,因此这个列表的修改并不会影响到 Surface 对象本身。
注意:Pygame 1.9.0 以后,返回值是一个包含 Color(长度为 3)对象的列表;在此之前,每个 RGB 元素是以元祖来表示的。
功能:返回给定索引号在调色板中的颜色值。
属性:get_palette_at(index) -> RGB
返回 index 参数在调色板中的颜色值,index 参数的取值范围是 0 ~ 255(8 位索引号)。
注意:Pygame 1.9.0 以后,返回值是一个包含 Color(长度为 3)对象;在此之前,是以元祖来表示 RGB 颜色值的。
功能:设置 Surface 对象 8 位索引的调色板。
属性:set_palette([RGB, RGB, RGB, ...]) -> None
功能:设置给定索引号在调色板中的颜色值。
属性:set_palette_at(index, RGB) -> None
功能:将一个 RGBA 颜色转换为映射的颜色值。
属性:map_rgb(Color) -> mapped_int
将一个 RGBA 颜色转换为该 Surface 对象映射的颜色值。返回值不会大于 Surface 对象的位深度。Pygame 常常不会使用这个映射的颜色值,但它可以用于传递给那些需要一个 Surface 对象以及其颜色的函数。
功能:将一个映射的颜色值转换为 Color 对象。
属性:unmap_rgb(mapped_int) -> Color
将一个映射的颜色值转换为该 Surface 对象的 RGB 颜色。返回值不会大于 Surface 对象的位深度。Pygame 常常不会使用这个映射的颜色值,但它可以用于传递给那些需要一个 Surface 对象以及其颜色的函数。
功能:设置该 Surface 对象的当前剪切区域。
属性:
功能:获取该 Surface 对象的当前剪切区域。
属性:get_clip() -> Rect
功能:根据父对象创建一个新的子 Surface 对象。
属性:subsurface(Rect) -> Surface
更多有关子 Surface 对象的内容请查看:get_offset() 和 get_parent() 方法。
功能:获取子 Surface 对象的父对象。
属性:get_parent() -> Surface
返回子 Surface 对象的父对象,如果不存在父对象,则返回 None。
功能:获取子 Surface 对象的顶层父对象。
属性:get_abs_parent() -> Surface
返回子 Surface 对象的父对象,如果不存在父对象,则返回该 Surface 对象本身(如果没有父对象,本身及顶层父对象)。
功能:获取子 Surface 对象在父对象中的偏移位置。
属性:get_offset() -> (x, y)
获取子 Surface 对象在父对象中的偏移位置。如果该 Surface 对象不是子对象,则返回 (0, 0)。
功能:获取子 Surface 对象在顶层父对象中的偏移位置。
属性:get_abs_offset() -> (x, y)
获取子 Surface 对象在顶层父对象中的偏移位置。如果该 Surface 对象不是子对象,则返回 (0, 0)。
功能:获取 Surface 对象的尺寸。
属性:get_size() -> (width, height)
返回 Surface 对象的宽度和高度,以像素为单位。
功能:获取 Surface 对象的宽度。
属性:get_width() -> width
返回 Surface 对象的宽度,以像素为单位。
功能:获取 Surface 对象的宽度。
属性:get_height() -> height
返回 Surface 对象的高度,以像素为单位。
功能:获取 Surface 对象的矩形区域。
属性:get_rect(**kwargs) -> Rect
返回一个 Rect 对象表示该 Surface 对象的矩形区域。该矩形对象(Rect)总是以 (0, 0) 为起点,width 和 height 为图像的尺寸。可以给该函数传递关键字参数【例如:image.get_rect(center
=
(
20
,
20
))
】,返回的结果将受参数的影响。
功能:获取 Surface 对象像素格式的位深度。
属性:get_bitsize() -> int
返回该 Surface 对象中每个像素用多少位来表示。该值可能不会完全与每个像素所使用的字节数相同。例如一个 15 位深度的 Surface 对象依然需要 2 个字节来存放。
功能:获取 Surface 对象每个像素使用的字节数。
属性:get_bytesize() -> int
返回 Surface 对象每个像素使用的字节数。
功能:获取 Surface 对象的附加标志。
属性:get_flags() -> int
返回当前 Surface 对象的特征。每个特征都是一个位掩码标志。典型标志有 HWSURFACE,RLEACCEL,SRCALPHA 和 SRCCOLORKEY。
下边是一个相对比较全面的标志列表,全部标志可在 SDL_video.h 文件中找到。
SWSURFACE |
0x00000000 |
将创建出来的 Surface 对象存放于内存中 |
HWSURFACE |
0x00000001 |
将创建出来的 Surface 对象存放于显存中 |
ASYNCBLIT |
0x00000004 |
使用异步绘制(如果可能的话) |
以下标志 display 模块的 set_mode() 方法适用:
ANYFORMAT |
0x10000000 |
显存中可以是深度格式或者是像素格式 |
HWPALETTE |
0x20000000 |
该 Surface 对象独占一个调色板 |
DOUBLEBUF |
0x40000000 |
双缓冲模式 |
FULLSCREEN |
0x80000000 |
全屏显示 |
OPENGL |
0x00000002 |
创建一个 OpenGL 渲染的环境 |
OPENGLBLIT |
0x0000000A |
创建一个 OpenGL 渲染的环境并用于绘制(过时) |
RESIZABLE |
0x00000010 |
允许调整尺寸 |
NOFRAME |
0x00000020 |
不显示窗口标题栏和边框 |
内部使用(只读):
HWACCEL |
0x00000100 |
使用硬件加速绘制 |
SRCCOLORKEY |
0x00001000 |
使用源 color key 绘制 |
RLEACCELOK |
0x00002000 |
私有标志 |
RLEACCEL |
0x00004000 |
使用 RLE 编码 Surface 对象 |
SRCALPHA |
0x00010000 |
使用源 alpha 混合绘制 |
PREALLOC |
0x01000000 |
使用预分配内存 |
功能:获取 Surface 对象每行占用的字节数。
属性:get_pitch() -> int
返回该 Surface 对象每行占用的字节数,存放在显存中的 Surface 对象并不总是线性填充。子 Surface 对象会比实际拥有更大的间距。
该方法不适用于通常的 Pygame 开发。
功能:获取用于颜色与映射索引号之间转换的掩码。
属性:get_masks() -> (R, G, B, A)
返回一个掩码,用于在颜色和映射索引号之间进行转换。
功能:设置用于颜色与映射索引号之间转换的掩码。
属性:set_masks((r,g,b,a)) -> None
Pygame 1.8.1 新增加的,该方法不适用于通常的 Pygame 开发。
功能:获取当位移动时在颜色与映射索引号之间转换的掩码。
属性:get_shifts() -> (R, G, B, A)
返回当像素移动时在颜色与映射索引号之间转换的掩码。
该方法不适用于通常的 Pygame 开发。
功能:设置当位移动时在颜色与映射索引号之间转换的掩码。
属性:set_shifts((r,g,b,a)) -> None
Pygame 1.8.1 新增加的,该方法不适用于通常的 Pygame 开发。
功能:获取最低有效位在颜色与映射索引号之间转换的掩码。
属性:get_losses() -> (R, G, B, A)
返回最低有效位在颜色与映射索引号之间转换的掩码。
该方法不适用于通常的 Pygame 开发。
功能:获取最小包含所有数据的 Rect 对象。
属性:get_bounding_rect(min_alpha = 1) -> Rect
返回一个包含整个 Surface 对象所有的像素并且 alpha 值大于等于平均 alpha 值的最小矩形区域。
Pygame 1.8.1 新增加的。
功能:获取 Surface 对象的像素缓冲区视图。
属性:get_view(
'0' | 返回一个连续的非结构化字节的视图。 | 没有给出 Surface 对象形状的信息。如果 Surface 对象的像素是不连续的,将抛出 ValueError 异常。 |
'1' | 返回一个连续像素的数组(宽 * 高)。 | 如果 Surface 对象的像素是不连续的,将抛出 ValueError 异常。 |
'2' | 返回一个原始像素的数组(宽,高)。 | Surface 对象的像素是字节尺寸的无符号整数。像素格式是由 Surface 对象指定。与其他的 Pygame 函数大相庭径,24 位的 Surface 对象用 3 个无符号整数表示。 |
'3' | 返回一个由 RGB 组成的数组(宽,高,3)。 | 红、绿、蓝每个组成颜色均是一个无符号字节。只有 24 位和 32 位的 Surface 对象支持。像素的颜色组合必须是 RGB 或 BGR 顺序。 |
'r' 表示红色 'g' 表示绿色 'b' 表示蓝色 'a' 表示 alpha 通道。 |
返回 Surface 对象的单一颜色视图(宽,高)。 | 只有 24 位 和 32 位的 Surface 对象支持 'r','g' 和 'b',只有带有 SRCALPHA 标志的 Surface 对象支持 'a'。 |
Pygame 1.9.2 新增加的。
功能:获取 Surface 对象的像素缓冲区对象。
属性:get_buffer() -> BufferProxy
Pygame 1.8 新增加的。
功能:像素缓冲区地址。
属性:_pixels_address -> int
该 Surface 对象原始像素的字节起始地址。
Pygame 1.9.2 新增加的。
整理自:http://www.1118pc.com/show_pdetails.asp?id=579