Я хочу сделать монохромный битмап из изображения PNG. Я вручную преобразую монохромное изображение в биты, что легко сделать. Например, если предполагается, что ряд пикселей on, off, on, off, on, off, on, off
может быть представлен двоичным кодом, 10101010
который является шестнадцатеричным кодом AA
.
Свойства файла изображения показывают, что это изображение размером 24 x 24 пикселя.
Когда я просматриваю файл, создается впечатление, что это не монохромное изображение размером 24 x 24 пикселя. Когда я использую приложение Ubuntu по умолчанию "Image Viewer", чтобы посмотреть на изображение, оно, кажется, отображает иллюзию с оттенками серого, и, кажется, использует более 24 бит на сторону, чтобы сделать это, а фон представлен чем-то иным, чем пробелы. Вот снимок экрана того, что показывает мне "Image Viewer". (Правка: это может быть 24 бита на сторону, но трудно сказать, потому что я могу представить, что серый эффект может быть достигнут с большим количеством пикселей, но я думаю, что его также можно достичь, изменяя яркость.)
Как просмотреть этот значок в виде монохромного растрового изображения размером 24 x 24 пикселя, используя доступные инструменты, такие как сайты конвертации или Gimp?
решение1
Это изображение имеет альфа-канал. Другими словами, помимо обычных красного/зеленого/синего, 4-й байт указывает на непрозрачность пикселя. Это, в частности, используется на граничных пикселях колокольчика, они имеют частичную непрозрачность, так что когда PNG помещается на фон любого цвета, эти граничные пиксели частично смешиваются с фоном, создавая визуально гладкий край.
Чтобы увидеть его как настоящее черно-белое изображение, вы просто поместите его на белый слой и объедините результат. Но полученное изображение будет содержать серые пиксели по краям колокола.