Изменение размера изображения и подгонка его под размер холстаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Изменение размера изображения и подгонка его под размер холста

Сообщение Anonymous »

Может ли кто-нибудь помочь мне изменить размер изображения с помощью ImageTk?
У меня есть холст, и я помещу туда изображения.
У меня разные виды изображений = разные размеры для всех изображений.
И когда я прикрепляю изображение (только одно) к холсту, я хочу, чтобы размер изображения изменился так, чтобы оно поместилось на холсте, и он все равно сохранит свою пропорцию.
Пожалуйста, помогите мне! Я новичок в PIL, Tkinter и Python.
Обновление:
Я пробовал использовать миниатюру в разделе «Изображение», но при изменении размера:

Код: Выделить всё

self.image.thumbnail(self.picsize,Image.ANTIALIAS)
изображение не соответствует размеру холста, и если изображение длиннее/шире холста, оно просто обрезается. (Размер не изменяется в соответствии с размером холста)

Код:

Код: Выделить всё

from PIL import ImageTk
from Tkinter import *
import os,tkFileDialog,Image

picsize = 250,250 # I want to set this so that it will fit in the self.imagecanvas | Every images attached will share same Size
imagepath = "Default_ProPic.jpg"
class GUI():
global picsize
def display(self):
self.canvas = Canvas(width=1200,height=700)
self.canvas.pack()

self.imagecanvas = Canvas(self.canvas,width=400,height=400)
self.imagecanvas.place(x=980,y=180)
self.image = Image.open(imagepath)
self.image.thumbnail(picsize,Image.ANTIALIAS)
self.newimage = ImageTk.PhotoImage(self.image)
self.profile_picture=self.imagecanvas.create_image(0,0,anchor = NW,image=self.newimage)

attachbutton = Button(self.canvas,text="       Profile Pic       ",command=lambda:self.attachpic())
attachbutton.place(x=1030,y=320)

mainloop()

def attachpic(self):
global picsize
attachphoto = tkFileDialog.askopenfilename(title="Attach photo")
self.image = Image.open(attachphoto)
self.image.thumbnail(picsize,Image.ANTIALIAS)
self.newimage = ImageTk.PhotoImage(self.image)
self.imagecanvas.itemconfigure(self.profile_picture, image=self.newimage)

GUI = GUI()
GUI.display()
Изображение, использованное выше:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/227 ... anvas-size
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Изменение размера изображения и подгонка его под размер холста
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Изменение размера изображения и вписать его к размеру холста
    Гость » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Гость
  • Изменение размера изображения и вписать его к размеру холста
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как найти точки соприкосновения линии с границами холста после поворота холста
    Гость » » в форуме Javascript
    0 Ответы
    107 Просмотры
    Последнее сообщение Гость
  • Макет меню вне холста не работает из-за холста на iOS
    Anonymous » » в форуме CSS
    0 Ответы
    123 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»