GtkImage
GtkImage — Виджет для отображения изображения
Функции
| GtkWidget * | gtk_image_new () |
| GtkWidget * | gtk_image_new_from_file () |
| GtkWidget * | gtk_image_new_from_resource () |
| GtkWidget * | gtk_image_new_from_pixbuf () |
| GtkWidget * | gtk_image_new_from_paintable () |
| GtkWidget * | gtk_image_new_from_icon_name () |
| GtkWidget * | gtk_image_new_from_gicon () |
| void | gtk_image_clear () |
| void | gtk_image_set_from_file () |
| void | gtk_image_set_from_resource () |
| void | gtk_image_set_from_pixbuf () |
| void | gtk_image_set_from_paintable () |
| void | gtk_image_set_from_icon_name () |
| void | gtk_image_set_from_gicon () |
| GtkImageType | gtk_image_get_storage_type () |
| GdkPaintable * | gtk_image_get_paintable () |
| const char * | gtk_image_get_icon_name () |
| GIcon * | gtk_image_get_gicon () |
| void | gtk_image_set_pixel_size () |
| int | gtk_image_get_pixel_size () |
| void | gtk_image_set_icon_size () |
| GtkIconSize | gtk_image_get_icon_size () |
Свойства
| char * | file | Чтение/Запись |
| GIcon * | gicon | Чтение/Запись |
| char * | имя_иконки | Чтение/Запись |
| GtkIconSize | размер_иконки | Чтение/Запись |
| GdkPaintable * | paintable | Чтение/Запись |
| int | размер_пикселей | Чтение/Запись |
| char * | ресурс | Чтение/Запись |
| GtkImageType | тип_хранения | Чтение |
| gboolean | использовать_fallback | Чтение/Запись |
Типы и значения
| GtkImage | |
| перечисление | GtkImageType |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkImage
Реализованные интерфейсы
GtkImage реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.
Включаемые файлы
#include <gtk/gtk.h>
Описание
Виджет GtkImage отображает изображение. Различные объекты могут быть отображены как изображение; чаще всего вы загружаете GdkTexture из файла, а затем отображаете его. Для этого есть удобная функция gtk_image_new_from_file(), которая используется следующим образом:
GtkWidget *image;
image = gtk_image_new_from_file ("myfile.png");Если файл не загружен успешно, изображение будет содержать значок «разбитое изображение», аналогичный тому, который используется во многих веб-браузерах. Если вы хотите самостоятельно обрабатывать ошибки при загрузке файла, например, отображая сообщение об ошибке, то загрузите изображение с помощью gdk_texture_new_from_file(), а затем создайте GtkImage с помощью gtk_image_new_from_paintable().
Иногда приложение хочет избежать зависимости от внешних файлов данных, таких как файлы изображений. Подробности см. в документации GResource. В этом случае следует использовать «ресурс», gtk_image_new_from_resource() и gtk_image_set_from_resource().
GtkImage отображает свое изображение в виде значка с размером, определяемым приложением. См. GtkPicture, если вы хотите отобразить изображение в его фактическом размере.
CSS узлы
GtkImage имеет один CSS узел с именем image. В зависимости от свойства «размер_иконки» могут появиться стили классов .normal-icons или .large-icons.
Удобство использования
GtkImage использует роль GTK_ACCESSIBLE_ROLE_IMG.
Функции
gtk_image_new ()
GtkWidget *
gtk_image_new (void); Создаёт новый пустой виджет GtkImage.
Возвращаемое значение
новый созданный виджет GtkImage.
gtk_image_new_from_file ()
GtkWidget *
gtk_image_new_from_file (const char *filename); Создаёт новый виджет GtkImage, отображающий файл filename. Если файл не найден или не может быть загружен, результат — виджет GtkImage с иконкой «разбитого изображения». Данная функция всегда возвращает валидный виджет GtkImage.
Если вам нужно обнаружить ошибки загрузки файла, используйте gdk_texture_new_from_file() для самостоятельной загрузки файла, а затем создайте виджет GtkImage на основе загруженной текстуры.
Тип хранения (gtk_image_get_storage_type()) возвращаемого изображения не определён, он будет зависеть от подходящего типа для отображения файла.
Параметры
filename | имя файла. | [type filename] |
Возвращаемое значение
новый виджет GtkImage
gtk_image_new_from_resource ()
GtkWidget *
gtk_image_new_from_resource (const char *resource_path); Создаёт новый виджет GtkImage, отображающий ресурсный файл resource_path. Если файл не найден или не может быть загружен, результат — виджет GtkImage с иконкой «разбитого изображения». Данная функция всегда возвращает валидный виджет GtkImage.
Если вам нужно обнаружить ошибки загрузки файла, используйте gdk_pixbuf_new_from_file() для самостоятельной загрузки файла, а затем создайте виджет GtkImage на основе загруженного pixbuf.
Тип хранения (gtk_image_get_storage_type()) возвращаемого изображения не определён, он будет зависеть от подходящего типа для отображения файла.
Параметры
resource_path | путь к ресурсу |
Возвращаемое значение
новый виджет GtkImage
gtk_image_new_from_pixbuf ()
GtkWidget *
gtk_image_new_from_pixbuf (GdkPixbuf *pixbuf); Создаёт новый виджет GtkImage, отображающий pixbuf. GtkImage не принимает ссылку на pixbuf; вам всё ещё нужно его освободить, если вы владеете ссылкой. GtkImage добавит свою собственную ссылку вместо принятия вашей.
Это вспомогательная функция для gtk_image_new_from_paintable(), и вы не сможете получить исходный pixbuf после вызова этой функции, только текстуру.
Обратите внимание, что эта функция просто создаёт виджет GtkImage на основе pixbuf. Созданный виджет GtkImage не будет реагировать на изменения состояния. Если вам это нужно, используйте gtk_image_new_from_icon_name().
Параметры
pixbuf | a GdkPixbuf, или | [allow-none] |
Возвращаемое значение
новый виджет GtkImage
gtk_image_new_from_paintable ()
GtkWidget *
gtk_image_new_from_paintable (GdkPaintable *paintable); Создаёт новый виджет GtkImage, отображающий paintable. GtkImage не принимает ссылку на paintable; вам всё ещё нужно его освободить, если вы владеете ссылкой. GtkImage добавит свою собственную ссылку вместо принятия вашей.
Виджет GtkImage отслеживает изменения в paintable и обновляет свой размер и содержимое в ответ на них.
Параметры
paintable | a GdkPaintable, или | [allow-none] |
Возвращаемое значение
новый виджет GtkImage
gtk_image_new_from_icon_name ()
GtkWidget *
gtk_image_new_from_icon_name (const char *icon_name); Создаёт виджет GtkImage с иконкой из текущей темы иконок. Если имя иконки неизвестно, отображается иконка «разбитого изображения». При смене текущей темы иконок, иконка обновляется соответствующим образом.
Примечание: До версии 3.94 эта функция принимала дополнительный аргумент размера иконки. Обратитесь к gtk_image_set_icon_size() для альтернативного способа установки размера иконки.
Параметры
icon_name | имя иконки или | [nullable] |
Возвращаемое значение
новый виджет GtkImage, отображающий тематическую иконку
gtk_image_new_from_gicon ()
GtkWidget *
gtk_image_new_from_gicon (GIcon *icon); Создаёт виджет GtkImage с иконкой из текущей темы иконок. Если имя иконки неизвестно, отображается иконка «разбитого изображения». При смене текущей темы иконок, иконка обновляется соответствующим образом.
Примечание: До версии 3.94 эта функция принимала дополнительный аргумент размера иконки. Обратитесь к gtk_image_set_icon_size() для альтернативного способа установки размера иконки.
Параметры
icon | иконка |
Возвращаемое значение
новый виджет GtkImage, отображающий тематическую иконку
gtk_image_clear ()
void
gtk_image_clear (GtkImage *image); Сбрасывает изображение в пустое состояние.
Параметры
image | a GtkImage |
gtk_image_set_from_file ()
void gtk_image_set_from_file (GtkImage *image,const char *filename);
См. gtk_image_new_from_file() для подробностей.
Параметры
image | a GtkImage | |
filename | имя файла или | [type filename][allow-none] |
gtk_image_set_from_resource ()
void gtk_image_set_from_resource (GtkImage *image,const char *resource_path);
См. gtk_image_new_from_resource() для подробностей.
Параметры
image | a GtkImage | |
resource_path | путь к ресурсу или | [allow-none] |
gtk_image_set_from_pixbuf ()
void gtk_image_set_from_pixbuf (GtkImage *image,GdkPixbuf *pixbuf);
См. gtk_image_new_from_pixbuf() для подробностей.
Примечание: Это вспомогательная функция для gtk_image_set_from_paintable(), и вы не сможете получить точный pixbuf после вызова, только paintable.
gtk_image_set_from_paintable ()
void gtk_image_set_from_paintable (GtkImage *image,GdkPaintable *paintable);
См. gtk_image_new_from_paintable() для подробностей.
Параметры
image | a GtkImage | |
paintable | a GdkPaintable или | [nullable] |
gtk_image_set_from_icon_name ()
void gtk_image_set_from_icon_name (GtkImage *image,const char *icon_name);
См. gtk_image_new_from_icon_name() для подробностей.
Примечание: До версии 3.94 эта функция принимала дополнительный аргумент размера иконки. См. gtk_image_set_icon_size() для другого способа задания размера иконки.
Параметры
image | a GtkImage | |
icon_name | имя иконки или | [nullable] |
gtk_image_set_from_gicon ()
void gtk_image_set_from_gicon (GtkImage *image,GIcon *icon);
См. gtk_image_new_from_gicon() для подробностей.
Примечание: До версии 3.94 эта функция принимала дополнительный аргумент размера иконки. См. gtk_image_set_icon_size() для другого способа задания размера иконки.
Параметры
image | a GtkImage | |
icon | иконка |
gtk_image_get_storage_type ()
GtkImageType
gtk_image_get_storage_type (GtkImage *image); Получает тип представления, используемый GtkImage для хранения данных изображения. Если в GtkImage нет данных изображения, возвращаемое значение будет GTK_IMAGE_EMPTY.
Параметры
image | a GtkImage |
Возвращает
используемое представление изображения
gtk_image_get_paintable ()
GdkPaintable *
gtk_image_get_paintable (GtkImage *image); Получает изображение GdkPaintable, отображаемое в GtkImage. Тип хранения изображения должен быть GTK_IMAGE_EMPTY или GTK_IMAGE_PAINTABLE (см. gtk_image_get_storage_type()). Вызывающий эту функцию не владеет ссылкой на возвращаемое paintable.
Параметры
image | a GtkImage |
Возвращает
отображаемое paintable или NULL, если изображение пустое.
[nullable][transfer none]
gtk_image_get_icon_name ()
const char *
gtk_image_get_icon_name (GtkImage *image); Получает имя и размер иконки, отображаемой в GtkImage. Тип хранения изображения должен быть GTK_IMAGE_EMPTY или GTK_IMAGE_ICON_NAME (см. gtk_image_get_storage_type()). Возвращаемая строка принадлежит GtkImage и не должна освобождаться.
Примечание: Эта функция была изменена в 3.94, чтобы не использовать больше параметров-выходов, а возвращать имя иконки напрямую. См. gtk_image_get_icon_size() для получения размера иконки.
Параметры
image | a GtkImage |
Возвращает
имя иконки или NULL.
[transfer none][allow-none]
gtk_image_get_gicon ()
GIcon *
gtk_image_get_gicon (GtkImage *image); Получает GIcon и размер, отображаемые в GtkImage. Тип хранения изображения должен быть GTK_IMAGE_EMPTY или GTK_IMAGE_GICON (см. gtk_image_get_storage_type()). Вызывающий функцию не владеет ссылкой на возвращаемую GIcon.
Примечание: Эта функция была изменена в 3.94, чтобы не использовать больше параметров-выходов, а возвращать GIcon напрямую. См. gtk_image_get_icon_size() для получения размера иконки.
Параметры
image | a GtkImage |
Возвращает
a GIcon, или NULL.
[transfer none][allow-none]
gtk_image_set_pixel_size ()
void gtk_image_set_pixel_size (GtkImage *image,int pixel_size);
Устанавливает размер пикселей для использования с именованными иконками. Если размер пикселей установлен на значение != -1, он используется вместо размера иконки, установленного с помощью gtk_image_set_from_icon_name().
Параметры
image | a GtkImage | |
pixel_size | новый размер пикселей |
gtk_image_get_pixel_size ()
int
gtk_image_get_pixel_size (GtkImage *image); Получает размер пикселей, используемый для именованных значков.
Параметры
image | a GtkImage |
Возвращает
размер пикселей, используемый для именованных значков.
gtk_image_set_icon_size ()
void gtk_image_set_icon_size (GtkImage *image,GtkIconSize icon_size);
Предлагает размер значка теме для именованных значков.
Параметры
image | a GtkImage | |
icon_size | новый размер значка |
gtk_image_get_icon_size ()
GtkIconSize
gtk_image_get_icon_size (GtkImage *image); Получает размер значка, используемый image при отрисовке значков.
Параметры
image | a GtkImage |
Возвращает
размер изображения, используемый значками
Типы и значения
GtkImage
typedef struct _GtkImage GtkImage;
перечисление GtkImageType
Описание представления данных изображения, используемого GtkImage. Если вы хотите получить изображение из виджета, вы можете получить только текущее хранящееся представление. Например, если gtk_image_get_storage_type() возвращает GTK_IMAGE_PAINTABLE, то вы можете вызвать gtk_image_get_paintable(). Для пустых изображений вы можете запросить любой тип хранения (вызвать любую из функций «получить»), но все они вернут значения NULL.
Элементы
GTK_IMAGE_EMPTY | изображение не отображается виджетом | |
GTK_IMAGE_ICON_NAME | виджет содержит именованный значок | |
GTK_IMAGE_GICON | виджет содержит GIcon | |
GTK_IMAGE_PAINTABLE | виджет содержит GdkPaintable |
Подробности свойств
Свойство “file”
“file” char *
Имя файла для загрузки и отображения.
Владелец: GtkImage
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “gicon”
“gicon” GIcon *
GIcon, отображаемый в GtkImage. Для значков темы, если тема значков изменится, изображение обновится автоматически.
Владелец: GtkImage
Флаги: Чтение / Запись
Свойство “icon-name”
“icon-name” char *
Имя значка в теме значков. Если тема значков изменится, изображение обновится автоматически.
Владелец: GtkImage
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “icon-size”
“icon-size” GtkIconSize
Символьный размер для использования набора значков или именованного значка.
Владелец: GtkImage
Флаги: Чтение / Запись
Значение по умолчанию: GTK_ICON_SIZE_INHERIT
Свойство “paintable”
“paintable” GdkPaintable *
GdkPaintable для отображения.
Владелец: GtkImage
Флаги: Чтение / Запись
Свойство “pixel-size”
“pixel-size” int
Свойство «pixel-size» может использоваться для указания фиксированного размера, переопределяющего свойство “icon-size” для изображений типа GTK_IMAGE_ICON_NAME.
Владелец: GtkImage
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
Свойство “resource”
“resource” char *
Путь к файлу ресурса для отображения.
Владелец: GtkImage
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “storage-type”
“storage-type” GtkImageType
Представление, используемое для данных изображения.
Владелец: GtkImage
Флаги: Чтение
Значение по умолчанию: GTK_IMAGE_EMPTY
Свойство “use-fallback”
“use-fallback” gboolean
Использовать ли обратный поиск стандартных имен значков для отображаемого значка в GtkImage. Значение этого свойства имеет значение только для изображений типа GTK_IMAGE_ICON_NAME и GTK_IMAGE_GICON.
Владелец: GtkImage
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkImage.html