Страницы

Поиск по вопросам

суббота, 28 декабря 2019 г.

Как вставить картинку в RichTextBox?

#c_sharp #winforms


Как вставить картинку в RichTextBox? Находил нормальный пример только на WPF, а мне
нужно на WinForms. У меня текст в RichTextBox записывается с файла, и в некоторых местах
текста нужно вставить определенную картинку. Мне нужно программно вставлять изображение
с файла. Как это можно сделать? И есть ли какой-то годный аналог RichTextBox? 
    


Ответы

Ответ 1



Нужно модифицировать код RTF. Изображения в RTF представляются в следующем формате: "{\pict\wmetafile8\picw[N]\pich[N]\picwgoal[N]\pichgoal[N] [BYTES]}", где \pict - группа изображения \wmetafile[N] - индикатор того, что изображение является Windows Metafile. [N] = 8 указывает, что размеры осей метафайла могут быть изменены независимо. \picw[N] и \pich[N] - указывает размер изображения, где [N] указывается в сотых миллиметра (0.01мм). \picwgoal[N] и \pichgoal[N] - указывает желаемый размер изображения, где [N] указыается в 1/1440 дюйма. [BYTES] - HEX-представление изображения. Почитать о том, как правильно реализовать модифицию RTF-кода, можно тут: https://stackoverflow.com/questions/18017044/insert-image-at-cursor-position-in-rich-text-box

Ответ 2



Можно попробовать вставить картинку, используя метод Paste(): Image img = Image.FromFile("winter.jpg"); Clipboard.Clear(); Clipboard.SetImage(img); richTextBox1.Paste(); Clipboard.Clear();

Комментариев нет:

Отправить комментарий