构造函数

GdkPixbufPixbufnew_from_file_at_scale

since: 2.6

声明 [src]

GdkPixbuf*
gdk_pixbuf_new_from_file_at_scale (
  const char* filename,
  int width,
  int height,
  gboolean preserve_aspect_ratio,
  GError** error
)

描述 [src]

通过从文件中加载图像创建一个新的 pixbuf。

文件格式将自动检测。

如果返回 NULL,则 error 会被设置。可能错误包括:

  • 文件无法打开
  • 没有用于文件格式的加载程序
  • 没有足够的内存分配图像缓冲区
  • 图像缓冲区包含无效数据

错误域是 GDK_PIXBUF_ERRORG_FILE_ERROR

图像将被缩放以适应所需大小,可选地保留图像的宽高比。

在保留宽高比的情况下,一个 width 的 -1 将导致图像缩放到给定的高度准确值,一个 height 的 -1 将导致图像缩放到给定宽度的准确值。当不保留宽高比时,一个 widthheight 的 -1 表示在这个维度上不进行任何缩放。从 2.8 开始允许 widthheight 为负值。

Available since: 2.6

参数

filename

类型: const char*

要加载的文件名,使用 GLib 文件名编码。

数据由函数的调用者拥有。
该值是一个平台原生字符串,在 Unix 上使用首选的 OS 编码,在 Windows 上使用 UTF-8。
width

类型: int

图像应具有的宽度或 -1 以不约束宽度。

height

类型: int

图像应具有的高度或 -1 以不约束高度。

preserve_aspect_ratio

类型: gboolean

TRUE 保留图像的宽高比。

error

类型: GError **

用于可恢复错误的返回位置的地址。

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULL GError*
如果没有错误,构造函数将保留参数为 NULL
发生错误时,该参数将被设置为一个新分配的 GError;调用者将获取数据的所有权,并负责释放它。

返回值

类型: GdkPixbuf

创建的新 pixbuf。

函数的调用者将获取数据的所有权,并负责释放它。
返回值可以为 NULL