Nhiều lần chúng tôi thấy cần phải thay đổi định dạng của hình ảnh. Trong dự án này, chúng tôi sẽ tạo Trình chuyển đổi định dạng hình ảnh bằng Python sẽ giúp chúng tôi thay đổi phần mở rộng của hình ảnh từ. png đến. jpg và ngược lại. Vì vậy, không lãng phí thời gian nữa, hãy bắt đầu với dự án
Trình chuyển đổi định dạng hình ảnh là gì?
An Image Format Converter là một ứng dụng giúp người dùng chuyển đổi định dạng/phần mở rộng của hình ảnh. Ở đây chúng tôi đang cung cấp hai phần mở rộng hình ảnh – png và jpg. Dự án này sẽ có một Cửa sổ GUI sẽ cung cấp cả hai tùy chọn này
Chi tiết dự án
Để tạo GUI của dự án này, chúng tôi sẽ sử dụng Mô-đun Tkinter. Tkinter Module có sẵn một số thư viện giúp chúng ta tạo GUI rất dễ dàng. Để chuyển đổi hình ảnh sang các định dạng khác nhau, chúng tôi sẽ sử dụng Mô-đun PIL. Cửa sổ GUI có hai tùy chọn chuyển đổi-
- PNG sang JPG
- JPG sang PNG
Điều kiện tiên quyết của dự án
Để tiếp tục với dự án, chúng ta sẽ cần cài đặt các thư viện sau bằng lệnh đã cho
- Mô-đun Tkinter – pip cài đặt tk
- Thư viện PIL – gối cài đặt pip
Tải xuống mã chuyển đổi định dạng hình ảnh Python
Vui lòng tải xuống mã nguồn cho dự án chuyển đổi định dạng hình ảnh python từ liên kết sau. Dự án chuyển đổi định dạng hình ảnh Python
Các bước để tạo dự án chuyển đổi định dạng hình ảnh
Chúng tôi sẽ thực hiện các bước sau để phát triển dự án python này-
- Nhập thư viện và mô-đun
- Duyệt một tập tin hình ảnh từ hệ thống
- Chuyển đổi từ PNG sang JPG
- Chuyển đổi từ JPG sang Png
- Tạo cửa sổ GUI
Hãy cùng xem chi tiết từng bước
1. Nhập thư viện và mô-đun
#importing libraries and modules import tkinter as tk from tkinter import * from tkinter import filedialog from PIL import Image
- Mô-đun Tkinter - Mô-đun này giúp tạo Cửa sổ GUI cho dự án của chúng tôi. Filedialog sẽ giúp chúng ta duyệt file từ hệ thống và lưu lại
- Thư viện PIL – PIL là viết tắt của Thư viện hình ảnh Python. Trong project này thư viện này sẽ giúp chúng ta thay đổi đuôi ảnh và lưu ảnh với đuôi mới
2. Duyệt một tệp hình ảnh từ hệ thống
#function to browse image def browse[]: global img filename = filedialog.askopenfilename[title = "Select a File"]#selecting a file from the system img = Image.open[filename]#opening the selected file
- Chức năng này sẽ giúp chúng tôi duyệt một tệp tồn tại trong hệ thống của chúng tôi
- filedialog. askopenfilename[] – Chức năng này mở ra một cửa sổ từ đó chúng ta có thể chọn một tệp cần thay đổi. Chúng tôi chọn giá trị và lưu nó trong một biến có tên filename
- open[] – Sử dụng hàm open[] chúng ta sẽ mở file ảnh đã chọn. Chúng tôi sẽ chuyển tên tệp biến cho phương thức open[] vì giá trị của tệp hình ảnh đã chọn được lưu trữ trong biến này
3. Chuyển đổi từ PNG sang JPG
#function to change from png to jpg def png_to_jpg[]: global img export_file_path = filedialog.asksaveasfilename[defaultextension='.jpg']#choosing the path and changing extension to jpg img.save[export_file_path]#saving the file on desired path
- Chức năng này sẽ chuyển đổi định dạng của một hình ảnh từ PNG sang Jpg
- filedialog. asksaveasfilename[] – Vì chúng ta đã duyệt ảnh cần chuyển đổi nên hàm này sẽ hỏi đường dẫn và tên nơi chúng ta muốn lưu file. Ở đây, tiện ích mở rộng mặc định được chuyển thành. jpg
- save[] – Sử dụng chức năng lưu, chúng tôi lưu hình ảnh ở đường dẫn đã chọn với phần mở rộng. jpg
4. Chuyển từ JPG sang Png
#function to change from jpg to png def jpg_to_png[]: global img export_file_path = filedialog.asksaveasfilename[defaultextension='.png']#choosing the path and changing extension to jpg img.save[export_file_path]#saving the file on desired path
- Sử dụng những thứ tương tự như trong các chức năng trước, chúng tôi đã tạo chức năng này để thay đổi định dạng từ Jpg sang Png. Ở đây chỉ có phần mở rộng mặc định được thay đổi, còn lại tất cả đều giống như trong chức năng trước đó
5. Tạo cửa sổ GUI
#creating window root = Tk[] root.geometry['600x250']#geometry of window root.title['DataFlair']#title for window Label[root,text='Image Format Converter',font='arial 15'].place[x=210,y=10]
- Tk[] – Sử dụng phương thức Tk[], chúng ta đã tạo một cửa sổ có tên là root
- hình học [] - Hàm này chỉ định kích thước của cửa sổ
- title[] – đặt tiêu đề cho cửa sổ đã tạo
- Nhãn [] - Nhãn là tiện ích Gui thường dùng để hiển thị một đoạn văn bản trên cửa sổ. Điều này tạo ra một nhãn trên cửa sổ GUI của dự án. Chúng ta có thể thay đổi màu sắc, phông chữ, kích thước, chiều cao, chiều rộng, v.v. của nhãn. Ở đây chúng tôi đã sử dụng hàm Label[] này để hiển thị văn bản
- place[] – hàm place[] giúp hiển thị các widget trên cửa sổ. Sử dụng hàm place[] chúng ta có thể chỉ định tọa độ x và y của một tiện ích và đặt nó cho phù hợp
Button[root,text='Browse an Image',command=browse,fg='blue',font='arial 10'].place[x=250,y=45]#creating button
- Button[] – Điều này giúp tạo một nút trên cửa sổ. command=browse chỉ định rằng bất cứ khi nào nút này được kích hoạt, chức năng duyệt sẽ được kích hoạt. Tương tự như nhãn, ở đây chúng ta cũng có thể chỉ định màu sắc, phông chữ, màu nền, màu nền trước, v.v. của một nút
Button[root,text='Png To Jpg',command=png_to_jpg,fg='red',font='arial 10'].place[x=120,y=95] Button[root,text='Jpg To Png',command=jpg_to_png,fg='red',font='arial 10'].place[x=450,y=95]
- Sử dụng kỹ thuật tương tự, chúng tôi đã tạo thêm 2 nút tương ứng cho PNG sang Jpg và Jpg sang Png. Để hiển thị tất cả các nút này, chúng tôi đã sử dụng hàm place[]
root.mainloop[]
- Hàm mainloop[] giúp hiển thị cửa sổ GUI khi chạy project
Đầu ra của bộ chuyển đổi định dạng hình ảnh Python
Tóm lược
Trong dự án này, chúng tôi đã tạo Trình chuyển đổi định dạng hình ảnh bằng Python. Ở đây chúng tôi đã sử dụng hai thư viện sau để xây dựng dự án