Мой Tkinter GUI загружает обложку альбома определенной комбинации песен/исполнителей непосредственно из связанной ссылки last.fm (выглядит так: http://ift.tt/1Jepy2C
, потому что он загружен ifttt.com и перенаправляется на файл png на last.fm.) Если на last.fm нет обложки альбома, ifttt вместо этого перенаправляется на это изображение: https://ifttt.com/images/no_image_card.png
.Найти похожие изображения в Tkinter?
Проблема в том, что это изображение имеет разные размеры, чем квадратные обложки альбомов, что означает, что я сделал файл «n/a» png, который я бы вставлял, если бы получил эту фотографию. К сожалению, просто так:
from tkinter import *
local_copy_of_not_available_image = PhotoImage(file="album_not_found.png")
internet_image = PhotoImage(data=b64_Album_data) # fetched b64 data through urllib, which should contain either an album cover or the n/a picture above
if internet_image == local_copy_of_not_available_image:
actual_image = PhotoImage(file="my_album_not_found_square_replacement_picture.png")
else:
actual_image = PhotoImage(data=b64_Album_data)
cover = Label(root, image=actual_image)
cover.pack()
mainloop()
не работает. По-видимому, хотя они являются одним и тем же изображением, данные b64 в internet_image
не совпадают с файлом, загруженным с моего жесткого диска. Мой вопрос в том, как я могу проверить, являются ли два изображения точными с точки зрения необработанных данных, чтобы определить, когда ifttt доставляет мне n/a картинку?
Вы можете загрузить изображение N/A из IFTTT, изменить его размер с помощью методов Tkinter, чтобы сделать его действительно маленьким и сохранить на вашем ПК. Затем в вашем коде загрузите изображение из IFTTT, измените его размер, сравните его побайтно с тем, который у вас есть на вашем ПК. Это немного экстремально. Разве нет другого пути для сервера, чтобы сказать вам, что нет обложки альбома? – TisteAndii
Нет, что я знаю. Но в этом случае, когда обложки альбомов всегда будут квадратными, а изображение n/a с помощью ifttt является прямоугольным, я могу просто сравнить их ширину, и если они не равны, я узнаю, что у меня есть изображение с ошибкой. –
А, это намного лучше – TisteAndii