Как видите, даже в формате PNG заголовок изображения начинается с \ pict \ wmetafile8. Попробуйте изменить заголовок на этот формат и посмотрите, работает ли он.

даю подкласс RichTextBox, который может легко вставлять изображения. Я сослался наэтот вопрос для начала, но я не могу заставить сгенерированную строку RTF работать. Когда я пытаюсь установить SelectedRtf RTB, он выдает ошибку «Формат файла недопустим». Вот мой код:

internal void InsertImage(Image img)
{
    string str = @"{\pict\pngblip\picw24\pich24 " + imageToHex(img) + "}";

    this.SelectedRtf = str;    // This line throws the exception
}

private string imageToHex(Image img)
{
    MemoryStream ms = new MemoryStream();
    img.Save(ms, ImageFormat.Png);

    byte[] bytes = ms.ToArray();

    string hex = BitConverter.ToString(bytes);
    return hex.Replace("-", "");
}

Я видел рабочие примеры того, что я пытаюсь сделать, но использую wmetafiles, но я бы предпочел не использовать этот метод. Есть идеи?

Спасибо,
Джаред

Ответы на вопрос(1)

Ваш ответ на вопрос