方法

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

另一块棋子的颜色。