Zum Inhalt springen

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


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...