方法
GdkPixbufPixbufconstruct_color
声明 [src]
void
gdk_pixbuf_composite_color (
const GdkPixbuf* src,
GdkPixbuf* dest,
int dest_x,
int dest_y,
int dest_width,
int dest_height,
double offset_x,
double offset_y,
double scale_x,
double scale_y,
GdkInterpType interp_type,
int overall_alpha,
int check_x,
int check_y,
int check_size,
guint32 color1,
guint32 color2
)
描述 [src]
该函数通过对源图像进行缩放(x方向和y方向的缩放系数分别为scale_x和scale_y),然后通过偏移量offset_x和offset_y进行平移,接着将合成结果的图像的矩形区域(dest_x, dest_y, dest_width, dest_height)与颜色color1和color2的棋盘纹理进行alpha通道融合,最终将其渲染到目标图像上。
如果源图像没有alpha通道,且overall_alpha的值为255,会使用一个快速路径,跳过alpha通道融合,仅执行缩放。
有关此函数的更简单变体,请参阅gdk_pixbuf_composite_color_simple()
。
参数
dest
-
类型:
GdkPixbuf
目标GdkPixbuf对象,用于绘制结果。
数据由方法调用者所有。 dest_x
-
类型:
int
要渲染的区域左边的坐标。
dest_y
-
类型:
int
要渲染的区域顶部的坐标。
dest_width
-
类型:
int
要渲染的区域的宽度。
dest_height
-
类型:
int
要渲染的区域的高度。
offset_x
-
类型:
double
在X方向上的偏移量(目前四舍五入为整数)。
offset_y
-
类型:
double
在Y方向上的偏移量(目前四舍五入为整数)。
scale_x
-
类型:
double
X方向的缩放因子。
scale_y
-
类型:
double
Y方向的缩放因子。
interp_type
-
类型:
GdkInterpType
变换的插值类型。
overall_alpha
-
类型:
int
源图像的整体透明度(0..255)。
check_x
-
类型:
int
棋盘风格的X偏移(棋盘的原点在 -
check_x
, -check_y
)。 check_y
-
类型:
int
棋盘风格的Y偏移。
check_size
-
类型:
int
棋盘上棋子的尺寸(必须是2的幂)。
color1
-
类型:
guint32
左上角棋子的颜色。
color2
-
类型:
guint32
另一块棋子的颜色。