Я добавил текст к изображению, используя PIL в сценарии python.
from PIL import Image, ImageDraw, ImageFont
image = Image.open('my_img.png')
draw = ImageDraw.Draw(image)
myfont = ImageFont.truetype("calibrib.ttf", 40)
points = 20,20
string = "My text for my_img.png"
draw.text(points, string, "black", font=myfont )
image.save('my_img_WithTxt.png')
image.show()
exit()
Я надеялся использовать вышеуказанный сценарий в Django, когда загружаю изображения в папку мультимедиа. Приведенный ниже скрипт отлично работает для загрузки и извлечения изображений.
def create_room(request):
if request.method=='POST':
form = RoomForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('/core/roomlist')
else:
form =RoomForm()
return render(request, 'create_room.html', {
'form':form
})
Проблема, с которой я столкнулся, заключается в том, что перед выполнением функции form.save () я хочу написать текст на изображении. Есть ли способ извлечь поле изображения из 'request.FILES перед его сохранением, написать текст на изображении и затем сохранить его.