Рассмотрим способы вывода картинок (иконок) в классических конках и конках с использованием lua+cairo.
В конки можно вывести изображения только в формате png.
В классике все изображения можно вывести в виде прямоугольной картинки командой
${image ~/путь_до_изображения/название_изображения -p 200,6 -s 32x32}
image - команда вывода изображения
-p 200,6 - координаты по горизонтали и вертикали
-s 32х32 - размер выводимого изображения
Для вывода изображения с помощью lua+cairo необходимы несколько команд.
Создаем имидж изображения
путь до изображения должен быть полным
Определяем ширину и высоту картинки
Масштабируем изображение
цифры 256 в данной команде - размер изображения который будет выведен в окно конки
Назначаем место, куда будет выведено изображение
цифры 0, 0 - координаты по горизонтали и вертикали
Выводим изображение
Закрываем вывод изображения
В отличии от классических конок, в которых возможен вывод только прямоугольных изображений, при помощи нескольких команд можно вывести изображение в виде круга, прямоугольника с закругленными углами и т.п.
Правда и в классических конках это возможно путем наложения маски, то есть второго изображения типа паспарту.
Пример вывода изображения в виде круга
Заменив команду рисования круга
на команду рисования любой фигуры можно вывести изображение любой формы.
В конки можно вывести изображения только в формате png.
В классике все изображения можно вывести в виде прямоугольной картинки командой
${image ~/путь_до_изображения/название_изображения -p 200,6 -s 32x32}
image - команда вывода изображения
-p 200,6 - координаты по горизонтали и вертикали
-s 32х32 - размер выводимого изображения
Для вывода изображения с помощью lua+cairo необходимы несколько команд.
Создаем имидж изображения
image = cairo_image_surface_create_from_png ("путь_до_изображения/название)
путь до изображения должен быть полным
Определяем ширину и высоту картинки
w = cairo_image_surface_get_width (image)
h = cairo_image_surface_get_height (image)
Масштабируем изображение
cairo_scale (cr, 256 / w, 256 / h)
цифры 256 в данной команде - размер изображения который будет выведен в окно конки
Назначаем место, куда будет выведено изображение
cairo_set_source_surface (cr, image, 0, 0)
цифры 0, 0 - координаты по горизонтали и вертикали
Выводим изображение
cairo_paint (cr)
Закрываем вывод изображения
cairo_surface_destroy (image)
В отличии от классических конок, в которых возможен вывод только прямоугольных изображений, при помощи нескольких команд можно вывести изображение в виде круга, прямоугольника с закругленными углами и т.п.
Правда и в классических конках это возможно путем наложения маски, то есть второго изображения типа паспарту.
Пример вывода изображения в виде круга
cairo_arc (cr, x, e, radius, 0, 2 * math.pi)
cairo_clip (cr)
cairo_new_path (cr)
image = cairo_image_surface_create_from_png (cr, ("путь/изображение)
w = cairo_image_surface_get_width (image)
h = cairo_image_surface_get_height (image)
cairo_scale (cr, 256/w, 256/h)
cairo_set_source_surface (cr, image, 0, 0)
cairo_paint (cr)
cairo_surface_destroy (image)
Заменив команду рисования круга
cairo_arc (cr, x, y, radius, 0, 2 * math.pi)
на команду рисования любой фигуры можно вывести изображение любой формы.
Нужно нарисовать длинный график и вывести по частям его(pdf А4), как предложишь это сделать?.
ОтветитьУдалитьСпасибо большое!
ОтветитьУдалитьОчень помогло.
вопрос, ${image ~/путь_до_изображения/название_изображения -p 200,6 -s 32x32} ввел это, естественно указав путь размещение и размер, но картинка не вывелась, а вывелось image, не подскажешь что делать?
ОтветитьУдалитьаналогично... не выводит изображение, только надпись {image}
ОтветитьУдалитьВывод изображений с conky первое путь без пробелов! второе формат png
ОтветитьУдалитьошибки - неправильный путь или не полный не во всех строках кода принимается команда ${image} попробуйте строкой выше ниже
и теперь пример
${image /home/username/.conky/name_folder/img/name.png -p 0,4 -s 50x46} проверяйте точность пути и пробелы