Ich bin dabei, eine Base64-Zeichenfolge programmgesteuert in ein Image zu konvertieren, das ich dann in eine RichTextBox einfügen.Image aus der Zwischenablage kann nicht in RichTextBox eingefügt werden
Momentan lade ich die Zeichenfolge in einen Stream und wandeln diesen in ein Bild um. Ich lade das dann in die Zwischenablage und versuche es einzufügen. Wenn ich den Code ausführe, wird nichts in die richTextBox eingefügt. Nach dem Ausführen des Codes wird das Bild korrekt in meine Zwischenablage gesetzt und ich kann es manuell in die richTextBox einfügen - es scheint einfach nicht programmgesteuert zu funktionieren.
Hier ist mein Code:
byte[] img_bytes = Convert.FromBase64String(imgStr);
using (var ms = new MemoryStream(img_bytes, 0, img_bytes.Length))
{
Image img = Image.FromStream(ms, true);
Bitmap imgb = (Bitmap)Bitmap.FromStream(ms);
Clipboard.SetDataObject(img);
Console.WriteLine(Clipboard.ContainsImage()); // Prints True
richTextBox1.Paste(DataFormats.GetFormat(DataFormats.Bitmap));
Console.WriteLine(richTextBox1.CanPaste(DataFormats.GetFormat(DataFormats.Bitmap))); // Prints True
richTextBox1.Text += "\n";
}
Update: Es scheint, dass das Textfeld einstellen, nachdem das Bild einfügen Bild löscht. Ich denke, die Frage ist jetzt, wie habe ich sowohl das Bild als auch den Text?
Können Sie zuerst versuchen, eine nicht gestreamte Bitmap einzufügen? 'richTextBox1.Paste (DataFormats.GetFormat (DataFormats.Bitmap));' ähnelt stark dem [msdn-Codebeispiel] (https://msdn.microsoft.com/de-de/library/23kah9ca (v = vs.110). aspx) Ich bezweifle, dass es ein Problem gibt, aber vielleicht funktioniert Ihr Bitmap aus irgendeinem Grund nicht – Kartoffel
Ich habe das gleiche Problem - ich habe eine PNG-Datei aus der Datei geladen, aber es kann nicht eingefügt werden, wenn ich das Programm ausführe. Die PNG kopiert erfolgreich in meine Zwischenablage und ich kann sie manuell in die richTextBox einfügen :( – user2884505
können Sie versuchen, den gesamten Code von msdn zu reproduzieren ich zuvor verlinkt? Vielleicht ist das Problem woanders ... – Kartoffel