Member 13032047 Ответов: 1

Как я могу использовать RTF код программно


Привет, я создаю программу, которая сохраняет и отображает изображения и текстовое описание. Однако я изо всех сил пытаюсь понять, как сгенерировать RTF-код для изображения и текста в моей программе.

Я добился этого вручную, сохранив изображение/текст или и то, и другое в редакторе, а затем открыв файл в блокноте. Кроме того, сохранение результирующего RTF-кода в блокноте с расширением .rtf создает RTF-файл, который идеально отображает изображение и текст в Редакторе.

Я нашел пример функции, которую ищу (т. е. c# - Как вставить изображение в RichTextBox? - переполнение стека[^] ), но это файл exec.

Я никогда не работал с RTF-кодом и искал его уже больше недели. Я прочитал много документации, но не нашел четких примеров того, как это достигается в коде?

Прежде чем кто-то предложил использовать RTF-код, я использовал буфер обмена для вставки (как в приведенном ниже коде), но это значительно снижает качество изображения. Я обнаружил, что использование RTF-кода решает ряд проблем:

- Сохранение нескольких элементов в форме (например, изображение графического поля и текст RTF)
- Открытие/извлечение нескольких элементов из файла
- Снижение качества изображения (например, изменение размера, копирование и вставка и т. д.)
- Изменение размера изображения (мне также нужно добиться этого в коде, но я не знаю, как разобрать RTF-код, чтобы изменить значения picwgoal и pichgoal?)

Шаги, которые я хотел бы достичь в своей программе:

- Скриншот и описание: У меня это уже работает. Пользователь делает снимок экрана, вставляет его в графическое поле, снимок экрана вставляется в Rich Text Box(RTB), добавляется фиктивный заголовок.
- Генерировать код в формате RTF : Я не знаю, как этого добиться? Я планирую сгенерировать RTF-код для изображения в графическом поле, вставить код в скрытый RTB, сгенерировать RTF-код для текста описания, добавить этот код к коду изображения в скрытом RTB.
- Сохраните RTF-код: Сохранение RTF-кода для изображения и текста в виде файла .rtf объединяет как изображение, так и текст в один файл .rtf! У меня уже есть процедура сохранения для сохранения файлов .rtf!
- Просматривать файлы: Открытие файла .rtf отображает изображение и текст в одном файле!

Если кто-нибудь может помочь мне с примером того, как генерировать/конвертировать RTF-код, я был бы чрезвычайно благодарен!

Что я уже пробовал:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    'Check whether PB1 is empty:
    If PictureBox1.Image Is Nothing Then
        'Get image from clipboard to PB1:
        PictureBox1.Image = My.Computer.Clipboard.GetImage
        'Resize image to fit PB1:
        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
        'Paste image:
        RichTextBox1.Paste()

1 Ответов

Рейтинг:
2

Garth J Lancaster

Код в GitHub - elistia/DotNetRtfWriter: библиотека .NET RTF Writer[^] позволяет вам "загрузить" изображение, а затем визуализировать/ "извлечь" RTF - код-я бы посмотрел на DotNetRtfWriter/RtfImage.cs at master · elistia/DotNetRtfWriter · GitHub[^] ... на первый взгляд это то, что я бы сделал, может быть, эта библиотека целиком/частично может быть полезна


Member 13032047

Эй, Спасибо, Гарт! Я действительно быстро просмотрел ссылки, которые вы разместили, но мне нужно дать им более подробный обзор! На самом деле я работаю над решением, которое планирую опубликовать, как только преодолею некоторые препятствия - например, изменю размер изображения и т. д. Я работаю над этим прямо сейчас, но мне нужна помощь в использовании регулярных выражений для достижения этой цели!

Garth J Lancaster

РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ .. Регулярные выражения - для изменения размера изображения ? Интересный подход, это был бы не мой первый выбор инструментов, в зависимости от того, что вы на самом деле имеете в виду - удачи