Как создать пустое (0x0) изображение?

#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"/>