#image #bit-manipulation #image-formats
#изображение #битовые манипуляции #форматы изображений
Вопрос:
Я пытаюсь найти способ создать изображение с нулевой шириной и нулевой высотой, которое соответствовало бы стандарту любого формата, который работает.
Я уже пробовал формат растрового изображения Windows (BMP) (файл только с заголовком 54 байта), но, похоже, что устройства чтения изображений его не примут.
Теоретическая строка байтов 0x0-BMP:
424D360000000000000036000000280000000000000000000000010020000000000000000000C40E0000C40E00000000000000000000
Какой формат будет поддерживать это и какие инструменты я могу использовать для его создания? Достаточно даже программного решения (например, системы C #.Сценарий рисования).
Комментарии:
1. Примечание: спецификация PNG запрещает нулевую ширину / высоту.
Ответ №1:
Считыватели изображений, как правило, не принимают ширину менее 1 или высоту менее 1. Следовательно, нам нужно придерживаться 1×1 как минимума, который можно практически использовать, даже если 0x0 разрешено спецификациями некоторых форматов изображений. 67-байтовый PNG подробно описан на http://garethrees.org/2007/11/14/pngcrush / возможно, самый маленький из возможных. Прозрачное изображение также может быть выполнено в 67 байтах.
Ответ №2:
Да, прозрачное изображение размером 1×1 должно сделать свое дело. Или вы можете создать объект 0x0, который использует изображение. Например: PictureBox с высотой = 0 и шириной = 0, если вы собираетесь использовать изображение в программе. Метод, который я использовал с успехом.
Но из вашего вопроса я не могу понять, связано ли это с программированием, а не с созданием изображений. И я не понимаю, зачем вам изображение 0x0, ведьма практически невидима… Но я думаю, у вас есть свои причины.
Комментарии:
1. Я предположил, что они делали это, потому что это казалось забавной головоломкой 🙂
Ответ №3:
Вот svg-файл, который в основном пуст:
<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg"/>
по умолчанию это 1x1px.
Чтобы принудительно использовать изображение 0x0px, вы можете попробовать:
<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0"/>