Почему форма favicon 16x16x4 и что не так с favicon WhatsApp? - PullRequest
0 голосов
/ 28 сентября 2019

Я новичок в работе со значками и у меня проблемы с форматированием.Для 2 примеров: я вытащил значок из google.com и заметил, что форма 16x16x4Почему не 16x16x3?

Для whatsapp.com это 194x194, и когда я пытаюсь отобразить изображение, оно выглядит поврежденным, и отличается от встроенного в Jupyter ноутбука инструмента для отображения изображений

from PIL import Image
import requests
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import Image as show_Image 


def get_favicon_save_load_display(host):
    example = requests.get( "https://" +  host + '/favicon.ico')
    with open(host + ".favicon.ico", 'wb') as f:
        f.write(example.content)
    im = Image.open(host + ".favicon.ico")
    np_im = np.array(im)
    print("The image shape is: ", np_im.shape)
    plt.imshow(np_im) 
    plt.show()

get_favicon_save_load_display('google.com')
get_favicon_save_load_display('whatsapp.com')

example = requests.get('https://whatsapp.com/favicon.ico')
show_Image(example.content)

Я ожидаю, что форма изображения будет 16x16x3, и я ожидаю, что изображение будет отображаться таким же образом.Есть что-то очевидное, чего мне не хватает?

1 Ответ

1 голос
/ 28 сентября 2019

Четвертый канал будет альфа, который содержит информацию о прозрачности.Если вы читаете ваши изображения, как это,

im = Image.open(host + ".favicon.ico").convert('RGBA')

, оно должно отображаться правильно.

...