Cách chèn hình ảnh trong Python Tkinter

Bạn không cần sử dụng thư viện xử lý ảnh PIL vì tkinter xử lý hiển thị ảnh.
from tkinter import *
root =Tk[]
root.geometry["800x400"]

frame_image = Frame[root, borderwidth=2, bg="white", relief=SUNKEN]
frame_image.pack[side=TOP, fill="x"]

frame_image.picture = PhotoImage[file="C:/Users/ABC/PycharmProjects/pythonProject/colleage.jpg"]
frame_image.label = Label[frame_image, image=frame_image.picture]
frame_image.label.pack[]

mainloop[]

Trong hướng dẫn Python này, chúng ta sẽ tìm hiểu cách thêm hình ảnh trong Python Tkinter. chúng ta hãy bắt đầu Hình ảnh Python Tkinter với các ví dụ bên dưới

  • Hình ảnh Python Tkinter
  • Hiển thị hình ảnh Python Tkinter
  • Nút hình ảnh Python Tkinter
  • Nền hình ảnh Python Tkinter
  • Thay đổi kích thước hình ảnh Python Tkinter
  • Kích thước hình ảnh Python Tkinter
  • Nhãn hình ảnh Python Tkinter
  • Hình ảnh Python Tkinter không tồn tại

Mục lục

  • Hình ảnh Python Tkinter
  • Hiển thị hình ảnh Python Tkinter
  • Nút hình ảnh Python Tkinter
  • Nền hình ảnh Python Tkinter
  • Thay đổi kích thước hình ảnh Python Tkinter
  • Kích thước hình ảnh Python Tkinter
  • Nhãn hình ảnh Python Tkinter
  • Hình ảnh Python Tkinter không tồn tại

Hình ảnh Python Tkinter

Python Tkinter có phương thức PhotoImage cho phép đọc ảnh trong Python Tkinter. Và sau đó, Hình ảnh có thể được đặt bằng cách cung cấp thêm biến PhotoImage trong thuộc tính hình ảnh của các tiện ích như Nhãn, Nút, Khung, v.v.

  • Có ba cách thêm hình ảnh trên Python Tkinter
    • ẢnhHình ảnh
    • mô-đun gối
  • PhotoImage là thư viện tích hợp đi kèm với Python Tkinter và cung cấp các tùy chọn hạn chế. Nhưng rất tốt để bắt đầu hoặc cho các tác vụ nhỏ trong đó ứng dụng chỉ nhằm mục đích đưa hình ảnh lên màn hình. Ngoài ra, nó hỗ trợ các tiện ích mở rộng hình ảnh hạn chế
  • Mô-đun gối trong Python Tkinter cung cấp nhiều tính năng hơn như bạn có thể đọc hình ảnh của bất kỳ tiện ích mở rộng nào, thay đổi kích thước hình ảnh, v.v. Mô-đun Gối cần được cài đặt trước khi sử dụng
  • Gối có thể được cài đặt bằng pip hoặc pip3 trong Python Tkinter
pip install pillow

or

pip3 install pillow
  • Trong ví dụ dưới đây của chúng tôi, chúng tôi đã chứng minh việc sử dụng PhotoImage. Gối được thảo luận trong các phần sau của cùng một hướng dẫn. Chúng tôi sẽ chứng minh phương pháp tốt nhất được sử dụng trong tình huống

Mã số

Đây là mã cơ bản để trình bày cách thêm hình ảnh trong Python Tkinter. Vì đoạn mã dưới đây chỉ để hiển thị một hình ảnh nên chúng tôi đã sử dụng phương thức PhotoImage trong Python Tkinter

from tkinter import *

ws = Tk[]
ws.title['PythonGuides']


img = PhotoImage[file='images/sasuke.png']
Label[
    ws,
    image=img
].pack[]

ws.mainloop[]

đầu ra

Trong kết quả này, hình ảnh được hiển thị bằng tiện ích nhãn và vì chúng tôi không cung cấp bất kỳ hình học nào nên kích thước ứng dụng bằng với kích thước của hình ảnh

Hình ảnh Python Tkinter

Đọc. Cách tạo một máy tính trong Python

Hiển thị hình ảnh Python Tkinter

Hình ảnh trong Python Tkinter có thể được hiển thị bằng cách sử dụng mô-đun PhotoImage hoặc bằng cách sử dụng thư viện Gối

  • Trong phần này, chúng tôi sẽ hiển thị hình ảnh bằng cả thư viện PhotoImage và Gối. Ngoài ra, chúng tôi sẽ sử dụng phương thức create_image từ canvas
  • Canvas được sử dụng để thêm hình ảnh hoặc văn bản trên màn hình ứng dụng

Mã sử ​​dụng phương pháp PhotoImage

Trong mã này, bạn có thể quan sát thấy rằng chúng tôi chưa nhập bất kỳ thư viện nào vì PhotoImage được tải tự động khi mọi thứ được nhập

from tkinter import *      

ws = Tk[]
ws.title['PythonGuides']
ws.geometry['500x500']

canvas = Canvas[
    ws,
    width = 500, 
    height = 500
    ]      
canvas.pack[]      
img = PhotoImage[file='images/sasuke.png']      
canvas.create_image[
    10,
    10, 
    anchor=NW, 
    image=img
    ]      
ws.mainloop[]  

Đầu ra của phương thức PhotoImage

Hình ảnh được hiển thị trên canvas và hiển thị không đầy đủ vì chúng tôi đã cung cấp chiều cao và chiều rộng của canvas nhỏ hơn kích thước của hình ảnh

Python Tkinter hiển thị hình ảnh bằng PhotoImage

Mã sử ​​dụng Thư viện gối

Trong mã này, chúng tôi đã nhập ImageTk, phương thức Hình ảnh từ thư viện PIL. PIL là tên viết tắt của một cái gối. Mặc dù mã trông rất giống với mã trước đó nhưng bây giờ chúng ta có thể đọc thêm các phần mở rộng hình ảnh như jpg, png, bitmap, v.v.

from tkinter import *  
from PIL import ImageTk,Image  

ws = Tk[]  
ws.title['PythonGuides']
ws.geometry['500x500']

canvas = Canvas[
        ws, 
        width = 500, 
        height = 500
        ]  
canvas.pack[]  
img = ImageTk.PhotoImage[Image.open['images/sasuke.png']]  
canvas.create_image[
        10, 
        10, 
        anchor=NW, 
        image=img
        ] 
ws.mainloop[] 

Đầu ra của hình ảnh được hiển thị bằng Thư viện gối

Đầu ra tương tự như phần PhotoImage và ảnh không đầy đủ vì kích thước của cửa sổ được cung cấp nhỏ hơn kích thước gốc của ảnh

Hiển thị hình ảnh Python Tkinter

Đọc. Thanh menu Python Tkinter – Cách sử dụng

Nút hình ảnh Python Tkinter

Tiện ích nút trong Python Tkinter có thuộc tính hình ảnh, bằng cách cung cấp biến hình ảnh, chúng ta có thể đặt hình ảnh trên tiện ích nút

  • Bước đầu tiên trong quy trình là đọc hình ảnh và để làm như vậy, chúng tôi sẽ sử dụng phương thức PhotoImage trong Python Tkinter
  • Button trong Tkinter có thuộc tính image, bạn có thể cung cấp biến gán cho PhotoImage tại đây
  • Bằng cách này, một hình ảnh có thể được đặt trên tiện ích nút trong Python Tkinter

Trong phần này, chúng ta sẽ tìm hiểu cách đưa hình ảnh vào nút trong Python Tkinter

Mã số

Trong mã này, chúng tôi đã thêm một hình ảnh trên nút. Người dùng có thể nhấp vào hình ảnh để thực hiện hành động

from tkinter import *

ws = Tk[]
ws.title['PythonGuides']


img = PhotoImage[file='images/downloadbtn.png']
Button[
    ws,
    image=img,
    command=None
].pack[]

ws.mainloop[]

đầu ra

Trong đầu ra này, Tải xuống hình ảnh được thêm vào nút. Người dùng có thể nhấp vào hình ảnh này để tải xuống tệp

Nút hình ảnh Python Tkinter

Đọc. Nút kiểm Python Tkinter – Cách sử dụng

Nền hình ảnh Python Tkinter

Trong phần này, chúng ta sẽ tìm hiểu cách chèn ảnh nền trong Python Tkinter. Nói cách khác, cách đặt hình nền trong Python Tkinter

  • Có hai cách chủ yếu để đặt nền trong Python Tkinter
    • Sử dụng Trình quản lý bố cục địa điểm, chúng tôi có thể đặt hình nền trên nhãn và kéo dài nó ra hết màn hình
    • Sử dụng phương thức create_image của canvas, chúng ta có thể đặt hình ảnh lên màn hình và sau đó sử dụng phương thức create_text của canvas, chúng ta có thể đặt tiện ích văn bản
  • Trong số hai phương pháp này, phương pháp thứ hai cho biết sử dụng canvas hiệu quả và chính xác hơn và chúng tôi khuyên bạn nên sử dụng canvas
  • Trong ví dụ dưới đây, chúng tôi đã tạo một ứng dụng bằng canvas. Ứng dụng này có hình nền, văn bản và một nút. Khi người dùng nhấp vào nút, họ sẽ được chuyển hướng đến trang web của chúng tôi

Mã số

Trong mã này, chúng tôi đã nhập trình duyệt web để chúng tôi có thể mở trang web. Chúng tôi đã đặt hình ảnh trong nền bằng cách sử dụng phương thức canvas create_image và sau đó sử dụng create _text và create_window chúng tôi đã đặt nút và văn bản trên cửa sổ

from tkinter import *
import webbrowser

ws = Tk[]
ws.title['PythonGuides']
ws.geometry['500x400']


new = 1
url = "//www.pythonguides.com"

def openbrowser[]:
    webbrowser.open[url,new=new]

bg = PhotoImage[file = 'images/bg.png']

canvas = Canvas[
	ws, 
	width = 500,
	height = 400
	]

canvas.pack[fill='both', expand = True]

canvas.create_image[
	0, 
	0, 
	image=bg,
	anchor = "nw"
	]

canvas.create_text[
	250, 
	150, 
	text = 'PythonGuides',
	font=['Arial', 50],
	]

btn = Button[
	ws, 
	text = 'EXPLORE MORE',
	command=openbrowser,
	width=20,
	height=2,
	relief=SOLID,
	font=['arial', 18]
	]

btn_canvas = canvas.create_window[
	100, 
	200,
	anchor = "nw",
	window = btn,
	]


ws.mainloop[]

đầu ra

Trong kết quả này, bạn có thể thấy ứng dụng đó có hình nền, văn bản và nút. Khi người dùng nhấp vào nút, họ sẽ được chuyển hướng đến một trang web

Nền hình ảnh Python Tkinter

Đọc. Nút phóng xạ Python Tkinter – Cách sử dụng

Thay đổi kích thước hình ảnh Python Tkinter

Trong phần này, chúng ta sẽ tìm hiểu cách thay đổi kích thước hình ảnh trong Python Tkinter

  • Sử dụng thư viện Gối trong Python Tkinter, chúng ta có thể thay đổi kích thước hình ảnh. để nhập Gối sử dụng mã này
    pip install pillow
    
    or
    
    pip3 install pillow
    4
  • from tkinter import *
    
    ws = Tk[]
    ws.title['PythonGuides']
    
    
    img = PhotoImage[file='images/sasuke.png']
    Label[
        ws,
        image=img
    ].pack[]
    
    ws.mainloop[]
    0 lệnh này cho phép chúng ta thay đổi chiều cao [h] và chiều rộng [w] của hình ảnh
  • Trong ví dụ dưới đây, chúng tôi đã tạo một ứng dụng trong đó người dùng có thể cung cấp chiều rộng và chiều cao và hình ảnh sẽ thay đổi kích thước theo thời gian thực

Mã số

Trong mã này, chúng tôi đã sử dụng phương thức Image từ mô-đun Gối để thay đổi kích thước của hình ảnh

________số 8

đầu ra

Trong kết quả này, bạn có thể thấy hình ảnh đó đang thay đổi kích thước theo chiều cao và chiều rộng do người dùng cung cấp. Đây là một ứng dụng chính thức được tạo bằng Python Tkinter có thể được sử dụng cho các hoạt động hàng ngày

Thay đổi kích thước hình ảnh Python Tkinter

Đọc. Nút Python Tkinter – Cách sử dụng

Kích thước hình ảnh Python Tkinter

Trong phần này, chúng ta sẽ tìm hiểu cách lấy kích thước ảnh trong Python Tkinter

  • điều đầu tiên trong quy trình là nhập Image, ImageTk từ PIL
  • sau đó ImageTk cung cấp phương thức chiều rộng và chiều cao mà chúng ta có thể lấy kích thước của hình ảnh

Mã số

Trong mã này,

from tkinter import *

ws = Tk[]
ws.title['PythonGuides']


img = PhotoImage[file='images/sasuke.png']
Label[
    ws,
    image=img
].pack[]

ws.mainloop[]
1 lệnh này hiển thị chiều cao và chiều rộng của hình ảnh. Ở đây, img là biến lưu file file

pip install pillow

or

pip3 install pillow
0

đầu ra

Trong kết quả này, bạn có thể thấy chiều cao và chiều rộng của hình ảnh được hiển thị ở cuối trang

Kích thước hình ảnh Python Tkinter

Đọc. Tạo trò chơi rắn trong Python Tkinter

Nhãn hình ảnh Python Tkinter

Trong phần này, chúng ta sẽ tìm hiểu cách đặt hình ảnh trên tiện ích Nhãn trong Python Tkinter

  • Tiện ích nhãn trong Python Tkinter được sử dụng để hiển thị văn bản và hình ảnh trên cửa sổ ứng dụng
  • Tiện ích nhãn có hình ảnh thuộc tính. Thêm tệp hình ảnh vào thuộc tính này sẽ đặt hình ảnh trên tiện ích nhãn
  • Nếu bạn đang xử lý hình ảnh PNG thì bạn chỉ cần sử dụng phương thức PhotoImage là phương thức tích hợp sẵn trong Python Tkinter
  • Đối với các tính năng nâng cao và tất cả tiện ích mở rộng, hãy sử dụng thư viện Image, ImageTk trong gối

Mã số

Đây là mã đơn giản để hiển thị hình ảnh bằng tiện ích Nhãn trong Python Tkinter

from tkinter import *

ws = Tk[]
ws.title['PythonGuides']


img = PhotoImage[file='images/sasuke.png']
Label[
    ws,
    image=img
].pack[]

ws.mainloop[]

đầu ra

Hình ảnh Python Tkinter trên Tiện ích nhãn

Đọc. Cách lấy đầu vào của người dùng và lưu trữ trong biến bằng Python Tkinter

Hình ảnh Python Tkinter không tồn tại

Đây là một lỗi phổ biến mà hầu hết các lập trình viên làm việc với hình ảnh trong Python Tkinter đều gặp phải, lỗi này cho biết, Hình ảnh Python Tkinter không tồn tại

  • Có ba lý do chủ yếu cho lỗi này
    • đường dẫn hình ảnh được cung cấp không chính xác
    • Bạn đã đọc hình ảnh bằng cách sử dụng
      from tkinter import *
      
      ws = Tk[]
      ws.title['PythonGuides']
      
      
      img = PhotoImage[file='images/sasuke.png']
      Label[
          ws,
          image=img
      ].pack[]
      
      ws.mainloop[]
      2 nhưng bạn chưa chuyển nó cho
      from tkinter import *
      
      ws = Tk[]
      ws.title['PythonGuides']
      
      
      img = PhotoImage[file='images/sasuke.png']
      Label[
          ws,
          image=img
      ].pack[]
      
      ws.mainloop[]
      3
    • khai báo một biến toàn cục trong trường hợp bạn đang thử hình ảnh trong hàm
  • _tkinter. TclLỗi. không thể nhận dạng dữ liệu trong tệp hình ảnh “images/workstation. jpg”
  • Nếu bạn thấy mã lỗi trên, điều đó có nghĩa là bạn đang cố sử dụng tệp hình ảnh JPG bằng PhotoImage
  • Để khắc phục điều đó, hãy sử dụng tệp hình ảnh PNG hoặc chuyển sang Gối. Vì mô-đun Gối cho phép sử dụng các phần mở rộng hình ảnh khác nhau

Bạn có thể thích các hướng dẫn Python tkinter sau đây

  • Khung Tkinter Python
  • Python Tkinter TreeView – Cách sử dụng
  • Danh sách công việc Tkinter của Python
  • Kích thước cửa sổ Python Tkinter
  • Hướng dẫn về Python Tkinter Canvas
  • Hướng dẫn sử dụng bảng Python Tkinter
  • Tạo tài liệu Word trong Python Tkinter

Trong hướng dẫn này, chúng ta đã học cách thêm hình ảnh trong Python Tkinter. Ngoài ra, chúng tôi đã đề cập đến các chủ đề này

  • Hình ảnh Python Tkinter
  • Hiển thị hình ảnh Python Tkinter
  • Nút hình ảnh Python Tkinter
  • Nền hình ảnh Python Tkinter
  • Thay đổi kích thước hình ảnh Python Tkinter
  • Kích thước hình ảnh Python Tkinter
  • Nhãn hình ảnh Python Tkinter
  • Hình ảnh Python Tkinter không tồn tại

Bijay Kumar

Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi

Bạn có thể thêm hình ảnh vào Tkinter không?

Tiện ích nhãn của Tkinter có thể được sử dụng để hiển thị hình ảnh hoặc văn bản . Để hiển thị hình ảnh, yêu cầu sử dụng Image và ImageTk được nhập từ gói Gối Python [còn gọi là PIL].

Làm cách nào để chèn hình ảnh trong Python?

Cách chèn hình ảnh trong Python .
+ 8. Cài đặt PIL [Thư viện hình ảnh Python]. sau đó. từ PIL nhập Hình ảnh myImage = Hình ảnh. open["your_image_here"]; . chỉ[];.
+ 4. .

Làm cách nào để thêm hình nền trong Python bằng Tkinter?

Nói chung, Tkinter cung cấp một phương thức để thêm hoặc đặt hình nền bằng cách sử dụng hàm PhotoImage[] bằng cách chuyển tên tệp của hình ảnh hoặc đường dẫn nguồn của hình ảnh. This method can be used for setting the background image of any widget, and there is no need for any extra module to be imported.

Chủ Đề