构造函数
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_pixels
为FALSE
,也会进行复制,所以使用此选项通常不是一个好主意。
如果您从编译到程序中的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
,则必须将其初始化为NULL
的GError*
。如果没有错误,构造函数将通过参数将其初始化为 NULL
。在发生错误的情况下,参数将被设置为一个新的分配的 GError
;调用者将拥有数据,并负责释放它。
返回值
类型:GdkPixbuf
一个新创建的pixbuf。
函数的调用者负责拥有数据,并负责释放它。 |