构造函数

GdkPixbufPixbufnew_from_inline

已弃用:2.32 

声明 [src]

GdkPixbuf*
gdk_pixbuf_new_from_inline (
  gint data_length,
  const guint8* data,
  gboolean copy_pixels,
  GError** error
)

描述 [src]

从适合在程序中作为内联数据存储的平面表示形式创建一个GdkPixbuf

如果您想随程序一起分发图像,但又不想依赖任何外部文件,这很有用。

GdkPixbuf附带一个名为gdk-pixbuf-csource的程序,它可以用于将GdkPixbuf转换为这样的内联表示。

在几乎所有情况下,您都应该将--raw选项传递给gdk-pixbuf-csource。一个示例调用是

gdk-pixbuf-csource --raw --name=myimage_inline myimage.png

对于典型的只读静态内联pixbuf情况,除非您打算写入它,否则不需要复制像素数据,因此您可以传递FALSE作为copy_pixels。如果您将--rle传递给gdk-pixbuf-csource,即使copy_pixelsFALSE,也会进行复制,所以使用此选项通常不是一个好主意。

如果您从编译到程序中的const内联数据创建pixbuf,则可以安全地忽略错误并禁用长度检查,因为事情总是会成功

pixbuf = gdk_pixbuf_new_from_inline (-1, myimage_inline, FALSE, NULL);

对于非const内联数据,您可能会缺少内存。对于在运行时位于不确定位置的内联数据,您可能会遇到损坏的内联数据。

自2.32版本起已弃用

使用GResource代替。

参数

data_length

类型:gint

数据参数的长度(以字节为单位),或-1以禁用长度检查。

data

类型:一个guint8数组的数组

字节数据,包含一个序列化的GdkPixdata结构。

数组的长度由data_length参数指定。
数据由函数的调用者拥有。
copy_pixels

类型:gboolean

是否复制像素数据,或使用指向结果的pixbuf的直接指针data

error

类型:GError **

用于存储一个可恢复错误的返回位置。

参数可以为NULL
如果返回位置不为NULL,则必须将其初始化为NULLGError*
如果没有错误,构造函数将通过参数将其初始化为NULL
在发生错误的情况下,参数将被设置为一个新的分配的GError;调用者将拥有数据,并负责释放它。

返回值

类型:GdkPixbuf

一个新创建的pixbuf。

函数的调用者负责拥有数据,并负责释放它。