Thắc mắc về thêm hình trên Python

Mấy anh chị rành về python cho em hỏi xí :
Tình hình là em mới tập tành lập trình python. Đến đoạn thêm hình vào trong python thì thêm mãi không được. Có tham khảo 1 số bài nhưng đem về thì chạy không được. a/c nào rành cho em hỏi code này cần chỉnh lại như thế nào để chạy được a. ? Em xin cảm ơn :smiley:
http://codepad.org/W4Miv88i

Tkinter chỉ support 3 dạng ảnh là GIF, PGM, PPM, bln sau bạn nhớ copy thêm thông báo lỗi, ảnh chụp màn hình nhá :smile:

Đọc thêm ở đây:
http://effbot.org/tkinterbook/photoimage.htm

hì tks bạn. Mà bạn cho mình hỏi thêm xí : mình muốn thêm ảnh với kích thước theo ý muốn thì làm như thế nào vậy. cái image_creat kiếm mà k ra chổ khai báo kích thước ( cái anchor k hiểu là gì cả :frowning: )

2 Likes

Bạn có thể dùng PIL để resize ảnh, xong convert sang image format của tkinter, xong nhét vào :smile: hình như còn mấy cách dùng thuần Tkinter, không dùng PIL nhưng mình chạy không được :joy:

from Tkinter import *
import ImageTk
from PIL import Image
root = Tk()
root.geometry('1000x1000')
canvas = Canvas(root,width=999,height=999)
canvas.pack()

pilImage = Image.open("D:\\YourImagePath.jpg")
pilImage = pilImage.resize((250, 250), Image.ANTIALIAS)  #Resize

image = ImageTk.PhotoImage(pilImage)
imagesprite = canvas.create_image(400,400,image=image)
root.mainloop()

https://www.google.com.vn/search?q=tkinter+resize+image

tks bạn nhiều để mình thử xem. Mò mấy hôm mà làm theo mấy cái clip trên youtube chả được :frowning:

2 Likes

Anh ơi. như mình muốn thay đổi kích thước của chử mình làm thế nào vậy anh? em tìm trên mạng họ dùng size mà em dùng cái canvas k biết để nó ở đâu cả?

1 Like

Là sao bạn, chử là chữ đó hả? mình có thấy chữ nào đâu? Hay là cái title :sweat_smile:

ý là mình thêm một ô text vào và muốn chỉnh cở chử của text đó ý :smiley:

Mình chịu thôi, mình chưa làm Tkinter bao giờ :smile: bạn up code phần chèn text của bản lên được không

mình đang thử dùng 2 cách này mà k biết chỉnh size ở đâu cả :frowning:

canvas_id = canvas.create_text(180, 10,anchor = "nw")
canvas.itemconfig(canvas_id,text = " abc")

widget = Label(canvas, text='AAA', fg='blue', bg='white')
widget.pack()
canvas.create_window(100, 100, window=widget)

Bạn up đầy đủ cả code đang chạy ok của bạn thì mình dễ test hơn, bạn thử kiếm chỗ nào có cái option font xong cho nó như này:

font=("Courier", 44)

Kiểu thế, là 1 tuple có tên font với size :smile:


À đây rồi, trang này có reference khá đầy đủ về Tkinter này

http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html

Bạn vào phần canvas widget -> create_text -> font thì bạn sẽ thấy cái option size

http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/fonts.html


Mình nghĩ bạn nên học theo 1 cuốn sách hoặc tutorial nào đó thì hay hơn, đi từ những cái cơ bản trước, chứ làm kiểu chắp vá thế này mệt lắm :sweat_smile:

http://www.tkdocs.com/tutorial/
http://zetcode.com/gui/tkinter/

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?