Так вот и я о том же … Но смущает, что в примере речь идёт не о строке с загруженным файлом,
а о массиве байт, что больше похоже на традиционный DIB/BMP … Пока не попробуешь - не узнаешь.
Модератор: Дед Пахом
Так вот и я о том же … Но смущает, что в примере речь идёт не о строке с загруженным файлом,
Отлично! Объясните мне (может и народу тоже) как этот классный DIB связать с контролом IMAGE в Кларионе?Constantine писал(а): ↑12 Февраль 2020, 8:49 Ну вот определенно нравится вам лезть на кактус...
ВСЕ графические устройства (мониторы, принтеры, дигитайзеры и пр.) понимают ИСКЛЮЧИТЕЛЬНО DIB (Device Independent Bitmap)!
Это как раз-таки просто делается:
Код: Выделить всё
?Image{Prop:ImageBits} = DIB_ByteArray
Ну, это совсем просто:Игорь Столяров писал(а): ↑12 Февраль 2020, 9:51 Другой вопрос, где взять этот самый DIB, если есть только Bitmap
Игорь, что такое DIB_ByteArray?Игорь Столяров писал(а): ↑12 Февраль 2020, 9:51 Это как раз-таки просто делается:
Код: Выделить всё
?Image{Prop:ImageBits} = DIB_ByteArray
Другой вопрос, где взять этот самый DIB, если есть только Bitmap ...
Некая бинарная последовательность, при записи которой в ?Image{Prop:ImageBits} будет показана картинка.
Не совсем так:
Тоже так думал, но у Microsoft другая точка зрения …
Возможно, это какая-то особенность FreeImage. У Windows такой особенности нет: все необходимое для отображения есть в BITMAPINFOHEADER.
Это только для 256-color. Информация об этом тоже есть в BITMAPINFOHEADER.
Пусть у нас есть bitmap картинки 30 x 40 пикселей, по три байта на пиксел (RGB) - т.е. т.н. 24-битная глубина цвета.
Гм... Странно... А у меня почему-то работает...