Pillow library ฟังก์ชั่น ImageDraw() ฟังก์ชั่นสำหรับการเพิ่มตัวอักษรเข้าไปในภาพ

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

benzas00123
PHP Super Member
PHP Super Member
Posts: 244
Joined: 06/01/2020 9:58 am

Pillow library ฟังก์ชั่น ImageDraw() ฟังก์ชั่นสำหรับการเพิ่มตัวอักษรเข้าไปในภาพ

Post by benzas00123 » 29/01/2020 5:51 pm

วันนี้เราจะมาสอนวิธีการเพิ่มตัวอักษรเข้าไปในภาพ โดยหลักๆ เลยเราจำเป็นจะต้องเตรียมไฟล์ รูปแบบตัวอักษรเข้าไปไว้ใน folder ของ project ก่อน ส่วนวิธีเขียนจะมีขั้นตอนดังนี้

1.import module

Code: Select all

from PIL import Image , ImageDraw , ImageFont
2.เปิดรูปที่เราต้องการจะเพิ่มตัวอักษร

Code: Select all

image = Image.open("static/images/maxresdefault.jpg")
3. สร้างตัวแปรเพื่อเก็บรูปแบบและขนาดของตัวอักษรโดยเราจะทำการเลือกจากไฟล์ font ที่เรานำมาเตรียมไว้

Code: Select all

font_type = ImageFont.truetype('Salmon White - Personal Use.otf' , 50)
4. สร้างตัวแปรเพื่อเก็บฟังก์ชั่น draw

Code: Select all

draw = ImageDraw.Draw(image)
5.กำหนด ตำแหน่ง , ข้อความ , สี แล้วก็ใส่ตัวแปร font ที่เราทำการ สร้างเอาไว้ ตามลำดับ

Code: Select all

draw.text(xy = (200,200),text="Test text" , fill=(255,60,0),font=font_type)
ผลลัพธ์

ภาพต้นแบบ
Python Knowledge-1.png
Python Knowledge-1.png (452.54 KiB) Viewed 151 times
ภาพที่ได้ทำการเพิ่มตัวอักษรแล้ว
Python Knowledge-2.png
Python Knowledge-2.png (305.43 KiB) Viewed 151 times
เป็นยังไงบ้างครับ หวังว่าคงจะพอมีประโยชน์กับเพื่อนๆที่กำลังศึกษาเจ้าตัว module pillow อยู่เพื่อนำไปใช้ในการทำโปรเจคนะครับ

ศึกษาเพิ่มเติม
แชร์ความรู้เกี่ยวกับ python
Pillow library ฟังก์ชั่น Filters สำหรับการปรับ Filters ของภาพให้มีลูกเล่นมากขึ้น
วีดีโอสอนเขียน python
บทความเทคนิคเกี่ยวกับ python


อ้างอิง
https://pillow.readthedocs.io/en/3.1.x/reference/ImageDraw.html
https://stackoverflow.com/questions/41405632/draw-a-rectangle-and-a-text-in-it-using-pil/41406147
https://www.geeksforgeeks.org/python-pil-imagedraw-draw-text/

  • Similar Topics
    Replies
    Views
    Last post

Return to “Python Knowledge”

Who is online

Users browsing this forum: No registered users and 6 guests