RTF Строковое значение файла BMP - PullRequest
0 голосов
/ 06 февраля 2012

Пожалуйста, примите мои извинения, если этот вопрос повторяется.Я пытался Google, но я не мог получить ответ, который я ищу.Как я могу преобразовать изображение (BMP или JPEG) в его эквивалентное значение строки RTF?Затем я сохраню это значение в базе данных, откуда я могу загрузить эту строку для отображения изображения.Я использую сторонний элемент управления (TX Text Control 10.1) для отображения изображения. Этот элемент управления Tx Text используется в одном из моих приложений VB 6.

Любая помощь будет принята с благодарностью.Заранее спасибо

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Артикул немного устарел, но вот раздел спецификации RTF, с которого вы должны начать:

http://msdn.microsoft.com/en-us/library/aa140283(v=office.10).aspx#rtfspec_24

В итоге он будет выглядеть примерно так (из той же статьи):

{\pict\wbitmap0\picw170\pich77\wbmbitspixel1\wbmplanes1\wbmwidthbytes22
\picwgoal505
\pichgoal221
\picscalex172
\picscaley172
49f2000000000273023d1101a030
3901000a000000000273023d98
0048000200000275
02040000200010275023e000000000
273023d000002b90002b90002
b90002b90002b9
0002b90002b90002b90002b90002b90002
b92222b90002b90002b90
002b90002b9
0002b90002b90002b90002b9000

Большинство значений, таких как ширина и высота изображения, могут быть получены в VB6, но, как упоминается в статье, вам нужно будет использовать такую ​​функцию, как GetDIBits дляполучить значения байтов для цвета.И если вы не знакомы с использованием объявления кода в VB6, быстрый Google может найти множество примеров, таких как this , this и this .

0 голосов
/ 06 февраля 2012

Если вы планируете загружать много изображений, я бы не рекомендовал этот подход, так как размер вашей базы данных увеличивается.Было бы гораздо лучше сохранить изображение в общей папке, а затем сохранить ссылку на местоположение изображения в текстовом поле в вашей базе данных.

...