Wie kann ich in VB.NET ein JPG-Bild beim Umwandeln in ein GIF-Bild gleichzeitig verkleinern oder vergrößern?

Antwort

Um in VB.NET ein JPG-Bild in ein GIF-Bild umzuwandeln und dabei gleichzeitig die Größe zu ändern, kannst du die Klassen `System.Drawing.Image` und `System.Drawing.Bitmap` verwenden. Hier ist ein Beispiel, wie das funktioniert: ```vb.net Imports System.Drawing Imports System.Drawing.Imaging ' Beispielmethode: JPG laden, skalieren und als GIF speichern Sub ConvertAndResizeJpgToGif(inputPath As String, outputPath As String, newWidth As Integer, newHeight As Integer) ' Bild laden Using originalImage As Image = Image.FromFile(inputPath) ' Neues Bitmap mit gewünschter Größe erstellen Using resizedImage As New Bitmap(newWidth, newHeight) Using g As Graphics = Graphics.FromImage(resizedImage) ' Bild skalieren g.DrawImage(originalImage, 0, 0, newWidth, newHeight) End Using ' Als GIF speichern resizedImage.Save(outputPath, ImageFormat.Gif) End Using End Using End Sub ``` **Verwendung:** ```vb.net ConvertAndResizeJpgToGif("C:\pfad\zu\bild.jpg", "C:\pfad\zu\bild.gif", 200, 150) ``` **Hinweise:** - Die Methode lädt das JPG, erstellt ein neues Bitmap in der gewünschten Größe, zeichnet das Originalbild skaliert hinein und speichert das Ergebnis als GIF. - Die Qualität der Skalierung kann durch zusätzliche Einstellungen an `Graphics` verbessert werden (z.B. `InterpolationMode`). **Weitere Infos:** - [System.Drawing.Image-Klasse (Microsoft)](https://learn.microsoft.com/de-de/dotnet/api/system.drawing.image) - [System.Drawing.Bitmap-Klasse (Microsoft)](https://learn.microsoft.com/de-de/dotnet/api/system.drawing.bitmap) Falls du unter .NET Core oder .NET 5+ arbeitest, beachte bitte, dass `System.Drawing.Common` auf Nicht-Windows-Plattformen nur eingeschränkt unterstützt wird. In diesem Fall empfiehlt sich eine Bibliothek wie [ImageSharp](https://sixlabors.com/products/imagesharp/).

KI fragen

Verwandte Fragen

Wie kann ich in VB.NET 2003 ein JPG-Bild in ein GIF-Bild umwandeln?

In VB.NET 2003 kannst du ein JPG-Bild in ein GIF-Bild umwandeln, indem du die Klassen aus dem Namespace `System.Drawing` verwendest. Hier ein einfaches Beispiel, wie das funktioniert: ```vb.net Impor... [mehr]

Kann ich in VB.NET 2003 mit Val("ABC02") den im String enthaltenen Zahlenwert "2" extrahieren?

Mit der Funktion `Val("ABC02")` in VB.NET 2003 erhältst du als Ergebnis den Wert `0`. Die Funktion `Val` liest nur so lange Zeichen aus dem String, wie sie als Zahl interpretiert werden... [mehr]

Wie kann ich in VB.NET 2003 eine Zeile in einer RTF-Box bei Enter-Taste automatisch vor dem Zeilenvorschub mit "°" beenden?

Um in VB.NET 2003 in einer RichTextBox beim Drücken der Enter-Taste vor dem Zeilenvorschub automatisch ein "°" einzufügen, kannst du das KeyDown- oder KeyPress-Ereignis der Ric... [mehr]

Kann in VB.NET 2003 die erste Spalte eines ListViews auch mit SubItems(0) adressiert werden?

In VB.NET 2003 (also .NET Framework 1.1) kann die erste Spalte eines ListView-Elements **nicht** über `SubItems(0)` adressiert werden. Die erste Spalte (also der Haupttext eines ListViewItems) wi... [mehr]

Kann man in VB.NET 2003 mehrere Spalten einer ListView nacheinander sortieren und dabei die Sortierung der vorangegangenen Spalten beibehalten?

In VB.NET 2003 ist die ListView-Komponente standardmäßig nur für die Sortierung nach einer einzelnen Spalte ausgelegt. Eine mehrstufige (also z.B. erst nach Spalte 1, dann nach Spalte... [mehr]

Gibt es in VB.NET 2003 den Befehl 'Continue Do'?

Das ist korrekt. In VB.NET 2003 (also Visual Basic .NET 1.1) gibt es das Schlüsselwort `Continue Do` noch nicht. Diese Funktionalität wurde erst mit .NET Framework 2.0 (Visual Studio 2005) e... [mehr]

Wie speichere ich mehrzeilige Texte mit VB.NET 2003 in eine Datei und lese einzelne Blöcke anhand von Überschriften aus?

Um mehrzeilige Texte in eine Datei zu speichern und später anhand von Überschriften (z. B. [Block1], [Block2]) auszulesen, kannst du in VB.NET 2003 wie folgt vorgehen: **1. Speichern mehrze... [mehr]

Wie klappe ich in VB.NET 2003 per Code ein bestimmtes Untermenü eines ContextMenus auf?

In VB.NET 2003 (also .NET Framework 1.1) gibt es keine direkte Möglichkeit, ein Untermenü (Submenu) eines ContextMenus per Code aufzuklappen. Das liegt daran, dass das klassische `ContextMen... [mehr]

Wie kann ich in VB.NET 2003 markierten Text in einer RTF-Box per Maus verschieben?

Um in VB.NET 2003 markierten Text innerhalb einer RichTextBox per Drag & Drop mit der Maus zu verschieben, musst du einige Ereignisse und Einstellungen nutzen, da die Standard-RichTextBox dieses V... [mehr]

Wie heißt in VB.NET 2003 der KeyCode für das Hochkomma (')?

In VB.NET 2003 entspricht das Hochkomma (Apostroph, also `'`) dem KeyCode **emQuotes**. Du kannst also in einem KeyDown- oder KeyPress-Ereignis so darauf prüfen: ```vb.net If e.KeyCode =... [mehr]