La manera más directa sería modificar el código RTF para insertar la imagen usted mismo.
En RTF, una imagen se define así:
'{' \ PICT (??? Brdr & sombreado & picttype & pictsize & metafileinfo) de datos '}' Un signo de interrogación indica la palabra de control es Opcional. "datos" es simplemente el contenido del archivo en formato hexadecimal. Si desea usar binario, use la palabra de control \ bin.
Por ejemplo:
{\pict\pngblip\picw10449\pich3280\picwgoal5924\pichgoal1860 hex data}
{\pict\pngblip\picw10449\pich3280\picwgoal5924\pichgoal1860\bin binary data}
\ PICT = inicia un grupo de imágenes, \ pngblip = imagen png \ picwX = ancho de la imagen (X es el valor de píxel) \ pichX = altura de la picture \ picwgoalX = ancho deseado de la imagen en twips
Por lo tanto, para insertar una imagen, solo tiene que abrir la imagen, convertir los datos a hexadecimal, cargar estos datos en una cadena y agregar los códigos RTF a su alrededor para definir una imagen RTF. Ahora, tiene una cadena independiente con datos de imagen que puede insertar en el código RTF de un documento. No se olvide el cierre "}"
A continuación, se obtiene el código RTF desde su RichTextBox (rtbBox.Rtf), insertar la imagen en el lugar adecuado y de establecer el código de rtbBox.Rtf
Uno El problema con el que se puede encontrar es que .NET RTB no tiene un soporte muy bueno del estándar RTF.
Acabo de hacer una pequeña aplicación * que le permite probar rápidamente algún código RTF dentro de un RTB y ver cómo lo maneja. Puede descargarlo aquí: RTB tester (http://your-translations.com/toys).
Puede pegar un poco de contenido RTF (desde Word, por ejemplo) en el cuadro RTF izquierdo y hacer clic en "Mostrar códigos RTF" para mostrar los códigos RTF en el cuadro RTF derecho, o puede pegar el código RTF en derecha RTB y haga clic en "Aplicar códigos RTF" para ver los resultados en el lado izquierdo.
Puede, por supuesto, editar los códigos como desee, lo que lo hace bastante conveniente para probar si RichTextBox admite o no los comandos que necesita, o aprender a usar las palabras de control RTF.
Puede descargar la especificación completa de RTF en línea.
NB Es sólo una pequeña cosa que una palmada juntos en 5 minutos, por lo que no puso en práctica abrir el archivo o guardarlo, arrastrar y soltar, o la otra materia civilizada.
No pude conseguir que RTB muestre pngs, pero al menos muestra wmf. –
1 "twip" = 1/20 de punto. 1 punto ~ 1.333 píxeles (esto depende de la resolución de la pantalla; la mayoría de los monitores actuales tienen 96 píxeles por pulgada en su resolución original) – KeithS