Zum Inhalt springen

C# ein Bild in einer Richtextbox anzeigen und die Größe ändern


Mr. Tommes

Empfohlene Beiträge

Hallo zusammen,

habe folgendes Problem: habe eine Form in c# mit dem VS 2005. In dieser Form ist eine richTextBox und ein Button. Wenn ich nun auf den Button klicke, fügt mir das Programm ein Bild in die rtb ein. Hier der Code der einen OpenFileDialog öffnet wo ich mir den Pfad des Bildes hole. Dann wird das Bild über das Clipboard eingefügt.

OpenFileDialog openFileDialog2 = new OpenFileDialog();

openFileDialog2.InitialDirectory = "c:\\";

openFileDialog2.Filter = "JPG-Dateien (*.jpg)|*.jpg";

openFileDialog2.FilterIndex = 1;

openFileDialog2.RestoreDirectory = true;

openFileDialog2.Title = "Bilddatei öffnen";

if (openFileDialog2.ShowDialog() != DialogResult.OK) return;

string path = openFileDialog2.FileName.ToString();

Image img = Image.FromFile(path);

Clipboard.SetImage(img);

richTextBox1.Paste();

richTextBox1.Focus();

Soweit so gut, jetzt habe ich das Bild in meiner richTextBox. Nur leider kann ich es nicht in der Größe verändern. Man kann es zwar anklicken innerhalb der richTextBox, es bekommt auch einen Rahmen wie man ihn aus Word zB kennt, aber es lässt sich nicht verändern.

Hat da jemand nen Tip?

Hilfreich wäre auch noch, wenn jemand weiss, wie ich den Inhalt (inklusive Bild) der richTextBox in Word exportiert bekomme.

Gruss

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Um die Größe des bildes anzupassen ist am einfachsten aus dem Image-Objekt

ein Bitmap zu erstellen, da Du hier die Möglichkeit hast bei der Instanzierung ein Objekt vom Typ Image und eine beliebige Höhe und Breite anzugeben.

Siehe Code:


            OpenFileDialog openFileDialog2 = new OpenFileDialog();

            openFileDialog2.InitialDirectory = "c:\\";

            openFileDialog2.Filter = "JPG-Dateien (*.jpg)|*.jpg";

            openFileDialog2.FilterIndex = 1;

            openFileDialog2.RestoreDirectory = true;

            openFileDialog2.Title = "Bilddatei öffnen";

            if (openFileDialog2.ShowDialog() != DialogResult.OK) return;


            string path = openFileDialog2.FileName.ToString();

            Image img = Image.FromFile(path);


            Bitmap bmp = new Bitmap(img, img.Width / 2, img.Height / 2);


            Clipboard.SetImage(bmp);

            richTextBox1.Paste();

            richTextBox1.Focus();

Ich habe hier die Originalgrößen des Originalbildes einfach durch zwei geteilt um die Proportionen zu erhalten. Kannst hier aber auch einen Slider (Min 1, Max 100) benutzen und die Größe so eben prozentual skalieren. Die Prozentberechnung ersetzt dann eben die Division durch zwei.

Hoffe das hilft Dir weiter!

Gruß,

Thomas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...