вставить текст на изображение, питон - PullRequest
0 голосов
/ 15 мая 2018

Мой проект касается загрузки изображения, и когда я нажимаю на кнопку, на изображении появляется текстовая область, и я могу написать на ней текст, а затем сохранить текст, написанный на изображении и на изображении. Для этого я использовал tkinter, но я установил свое изображение в качестве фона и добавил текстовое поле (text widget) и ввел текст, но, очевидно, я не могу сохранить это изображение (которое установлено в качестве фона) и текст написано на нем. Я пытался использовать PIL, но я не нашел то, что искал. Это мой код, используя tkinter:

from tkinter import *
from PIL import ImageTk
import cv2

#root = Tk()

image=cv2.imread("New_refImg.png")
width_1, height_1,channels = image.shape   
print(width_1)
print(height_1)

canvas = Canvas(width =height_1, height = width_1, bg = 'blue')
canvas.pack(expand = 1, fill = BOTH)

img = ImageTk.PhotoImage(file = "New_refImg.png")

canvas.create_image(0, 0, image = img, anchor = NW)

#Add text
entry = Entry(canvas, width=12)
entry.pack(side=BOTTOM,padx=43,pady=height_1-130) # "side" position button

def onok():    
    x= entry.get().split('x')
    print(x)

Button(canvas, text='OK', command=onok).pack(side=LEFT)

mainloop()

1 Ответ

0 голосов
/ 21 июля 2018

Итак, вы можете нарисовать текст на вашем холсте - Python: как добавить текст внутри холста? - и затем преобразовать этот холст в изображение для сохранения - Как я могу конвертировать содержимое холста к изображению?

Однако я бы порекомендовал использовать PIL / Pillow. Вы можете нарисовать текст на изображении - https://pillow.readthedocs.io/en/5.2.x/reference/ImageDraw.html#example-draw-partial-opacity-text. Вы можете предоставить изображение подушки в ImageTk.PhotoImage в качестве аргумента - ImageTk.PhotoImage (im). Вы можете естественным образом сохранить изображение в файл - http://pillow.readthedocs.io/en/5.2.x/reference/Image.html#PIL.Image.Image.save

...