В памяти создаётся настоящий минимальный BMP 1×1 с указанной глубиной в заголовке, без чтения неизвестной картинки.
Где и как запускать
Тело кнопки своей обычной формы, толстый клиент Windows; только BMP в памяти.
Подготовка
Собственная обычная форма, толстый клиент Windows. Основной блок — тело кнопки ПроверитьПиктограмму.
Base64 содержит собственный BMP с корректным 40-байтовым DIB-заголовком, шириной и высотой 1, указанной битностью, необходимой палитрой и выровненной строкой пикселя. Это тестовый образец данных, не изображение из рабочей базы.
Файлы, интернет, библиотека картинок и графический редактор не требуются. На мобильной платформе ГлубинаЦвета возвращает Неопределено, для этого опыта выбран настольный клиент.
ДанныеBMP = Base64Значение("Qk16AAAAAAAAAHYAAAAoAAAAAQAAAAEAAAABAAQAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAABEREQAiIiIAMzMzAERERABVVVUAZmZmAHd3dwCIiIgAmZmZAKqqqgC7u7sAzMzMAN3d3QDu7u4A////AAAAAAA=");
Пиктограмма = Новый Картинка(ДанныеBMP);
Глубина = Пиктограмма.ГлубинаЦвета();
Сообщить("Глубина своей пиктограммы: " + Строка(Глубина));
Сообщить("Совпадает с 4 бит: " + Строка(Глубина = ГлубинаЦвета.БитНаПиксел4));
Сообщить("Источник BMP в памяти, байт: " + Строка(ДанныеBMP.Размер()));Разбор по шагам
Восстановите реальные двоичные данные собственного BMP.
Создайте картинку из этих данных.
Прочитайте глубину и сравните с документированным перечислением.
Как проверить результат
В исходном BMP заголовок задаёт 4 бит на пиксель. Вывод сравнивает реальный ответ API, а не присваивает readonly-характеристику картинки.
Неопределено допустимо для векторных форматов и мобильной платформы; его нельзя выдавать за 32-битную картинку. BSL здесь не выполнялся, поведение установленного декодера проверяется ручным запуском.
Ожидаемый результат
Есть реальный контролируемый двоичный источник и понятное сравнение метаданных растровой картинки.
На что обратить внимание
Глубина цвета не равна размеру файла и не является числом цветов с учётом прозрачности интерфейса.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.