Как добавить картинку в питон программу

Для работы с изображениями в Tkinter имеется два класса BitmapImage и PhotoImage. BitmapImage представляет собой простое двухцветное изображение, PhotoImage — полноцветное изображение.

BitmapImage

  • background и foreground — цвета фона и переднего плана для изображения. Поскольку изображение двухцветное, то эти параметры определяют соответственно чёрный и белый цвет;
  • file и maskfile — пути к файлу с изображением и к маске (изображению, указывающему какие пиксели будут прозрачными);
  • data и maskdata — вместо пути к файлу можно указать уже загруженные в память данные изображения. Данная возможность удобна для встраивания изображения в программу.

from tkinter import * data = »’#define image_width 15 #define image_height 15 static unsigned char image_bits[] = < 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1c, 0x30, 0x0c, 0x60, 0x06, 0x60, 0x06, 0xc0, 0x03, 0xc0, 0x03, 0x60, 0x06, 0x60, 0x06, 0x30, 0x0c, 0x38, 0x1c, 0x00, 0x00, 0x00, 0x00 >;»’ root=Tk() root.title(«Изображения») root.minsize(width=100, height=100) image = BitmapImage(data=data, background=’red’, foreground=’green’) button=Button(root, image=image) button.pack() root.mainloop()

PhotoImage

Уроки Python / Модуль tkinter (работа с картинками)


PhotoImage позволяет использовать полноцветное изображение. Кроме того у этого класса есть несколько (достаточно примитивных) методов для работы с изображениями. PhotoImage гарантированно понимает формат GIF. Аргументы конструктора:

  • file — путь к файлу с изображением;
  • data — вместо пути к файлу можно указать уже загруженные в память данные изображения. Изображения в формате GIF могут быть закодированы с использованием base64. Данная возможность удобна для встраивания изображения в программу;
  • format — явное указание формата изображения;
  • width, height — ширина и высота изображения;
  • gamma — коррекция гаммы;
  • palette — палитра изображения.

from tkinter import * root = Tk() root.title(«Изображения») def img(): img = PhotoImage(file=»Image.gif») label = Label(root, image=img) label.image_ref = img label.pack() img() root.mainloop()

Будет выведено изображение в главную форму:

Источник: it-black.ru

Pillow обработка изображений в Python на примерах

Библиотека изображений Python, или PIL (Python Imaging Library) нужна для обработки графики в Python. Фредрик Лунд является автором одного из лучших блогов, посвященных Python. Однако он перестал обновляться в далеком 2009 году, незадолго до последнего релиза PIL. К счастью, нашлись разработчики Python, что подхватили проект, создав форк PIL под названием Pillow.

Pillow стал заменой оригинальной библиотеки PIL. Он также поддерживает Python 3, чего PIL так и не достиг.

Обратите внимание на то, что PIL и Pillow не могут быть установлены одновременно. В документации есть определенные предупреждения, где перечисляются различия между PIL и Pillow. Они обновляются время от времени, поэтому лучше ознакомиться с последними изменениями на официальной странице.

Как выводить картинку в приложении [Tkinter] / Уроки Python

Изображения которые используются в уроке:

Установка Pillow в Python

Установить Pillow в Python можно через pip или easy_install . Установка через pip выполняется следующим образом:

Источник: python-scripts.com

Используем Python Pillow для вставки текста и изображения в картинку

Вставка текста и изображения в картинку с Python Pillow (PIL)

Pillow это одна из самых популярных библиотек Python для работы с изображениями. Ранее эта библиотека называлась PIL и последний ее релиз был в 2009, после чего разработчики продолжили ее развитие под названием Pillow. В этой статье будет рассмотрен пример вставки текста и изображения в новую или существующую картинку.

Pillow устанавливается отдельно:

pip install Pillow

Навигация по посту

  • Создание и открытие изображения
  • Добавление текста к изображению
  • Вставка изображения
  • Определение высоты и ширины

Создание и открытие изображения

Для открытия и создания изображения используется модуль Image. На следующем примере мы откроем существующее изображение:

from PIL import Image im = Image.open(‘d:/beach.jpeg’) # Откроет изображение в новом окне im.show()

В следующем примере мы создадим изображение, где мы должны указать:

  • Цветовую модель. Например RGB,RGBA,CMYK,HCL и т.д.;
  • Размер изображения в кортеже;
  • По умолчанию изображение создается с черным фоном. Для его изменения нужно заполнить атрибут color.

from PIL import Image im = Image.new(‘RGB’, (200,200), color=(‘#FAACAC’)) # Откроет изображение в новом окне im.show()

Сохранить изображение можно через save:

from PIL import Image im = Image.new(‘RGB’, (200,200), color=(‘#FAACAC’)) im.save(‘D:/new_pic.jpg’)
Вам так же будет интересно:

Модуль Python os — примеры создания и работы с папками и путями

Добавление текста к изображению

Для изменения изображение используется класс ImageDraw. В следующем примере мы создадим объект этого класса с текстом, где нужно указать:

  • Расположение текста. В примере ниже это (100, 100);
  • Сам текст;
  • Цвет текста.

from PIL import Image, ImageDraw im = Image.new(‘RGB’, (200,200), color=(‘#FAACAC’)) draw_text = ImageDraw.Draw(im) draw_text.text( (100,100), ‘Test Text’, fill=(‘#1C0606’) ) im.show()

Если использовать кириллические символы, может появится ошибка:

  • AttributeError: ‘ImageFont’ object has no attribute ‘getmask2’
  • UnicodeEncodeError: ‘latin-1’ codec can’t encode characters

Для исправления ошибки вы можете использовать свой шрифт через класс ImageFont. Вы так же сможете указать размер шрифта:

from PIL import Image, ImageDraw, ImageFont im = Image.new(‘RGB’, (200,200), color=(‘#FAACAC’)) # Создаем объект со шрифтом font = ImageFont.truetype(‘D:/Roboto/Roboto-Black.ttf’, size=18) draw_text = ImageDraw.Draw(im) draw_text.text( (100, 100), ‘Текст 18px’, # Добавляем шрифт к изображению font=font, fill=’#1C0606′) im.show()

Вставка изображения

Для создания водяного знака, например, откройте второе изображение и используйте функцию paste. При этом первый параметр с watermark будет использовать всю область изображения, а второй установит прозрачность (альфа-канал):

from PIL import Image im = Image.open(‘d:/beach.jpeg’) # Изображение для водяного знака watermark = Image.open(‘d:/logo.png’) im.paste(watermark, (25,25), watermark) im.show()

Определение высоты и ширины

Если вы планируете открывать множество изображений, разных размеров и добавлять текст, например в правый нижний угол вы можете вычислить это местоположение. Объекты Image содержат размеры:

# Ширина и высота im.size # Ширина im.width # Высота im.height

Если вы используете водяные знаки, то можно просто вычесть из основного изображения размеры водяного знака и получить корректное расположение в правом угле:

from PIL import Image im = Image.open(‘d:/beach.jpeg’) watermark = Image.open(‘d:/logo.png’) # Вычисляем расположение watermark position = (im.width — watermark.width, im.height — watermark.height) im.paste(watermark, position, watermark) im.show()

Источник: fixmypc.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru