Das von dir beschriebene Verhalten in VB.NET 2003, dass ein 1 px breites Bild nach dem Laden mit `Image.FromStream` plötzlich `img.Width = 15` ergibt, kann mehrere Ursachen haben. Hier sind die h... [mehr]
Das von dir beschriebene Verhalten liegt nicht an `File.OpenRead`, sondern an der Art und Weise, wie das Bild in einem Steuerelement (z. B. `PictureBox`) angezeigt wird. In Windows Forms (auch in VB.NET 2003) haben viele Steuerelemente eine **Mindestgröße** oder skalieren kleine Bilder automatisch, damit sie besser sichtbar sind. **Hintergrund:** - Ein Bild mit 1 px Breite ist auf modernen Bildschirmen praktisch unsichtbar. - Die `PictureBox` hat standardmäßig die Eigenschaft `SizeMode` auf `Normal` gesetzt. Das Bild wird dann in Originalgröße angezeigt, aber das Steuerelement selbst kann größer sein. - Manche Steuerelemente oder Layouts skalieren kleine Bilder automatisch hoch, damit sie besser sichtbar sind (z. B. auf 15 px Breite). **Lösung:** 1. **PictureBox anpassen:** Setze die `SizeMode`-Eigenschaft der `PictureBox` auf `Normal` und stelle sicher, dass die `PictureBox` selbst nur 1 px breit ist: ```vb.net PictureBox1.SizeMode = PictureBoxSizeMode.Normal PictureBox1.Width = 1 PictureBox1.Height = <Höhe des Bildes> ``` 2. **Direktes Zeichnen:** Wenn du das Bild pixelgenau anzeigen willst, kannst du es direkt auf ein Steuerelement (z. B. ein `Panel`) zeichnen: ```vb.net Dim img As Image = Image.FromStream(File.OpenRead("pfad\zum\bild.png")) Panel1.Width = img.Width Panel1.Height = img.Height AddHandler Panel1.Paint, Sub(sender, e) e.Graphics.DrawImage(img, 0, 0) End Sub Panel1.Invalidate() ``` 3. **Eigene Kontrolle:** Stelle sicher, dass kein Layout-Manager oder Container das Steuerelement automatisch vergrößert. **Zusammenfassung:** Das Bild wird nicht durch `File.OpenRead` vergrößert, sondern durch die Anzeige im Steuerelement. Passe die Größe des Steuerelements und ggf. die Anzeigeeigenschaften an, um das Bild in Originalgröße darzustellen. **Weitere Infos:** - [Microsoft Docs: PictureBox.SizeMode-Eigenschaft](https://learn.microsoft.com/de-de/dotnet/api/system.windows.forms.picturebox.sizemode) - [Microsoft Docs: Graphics.DrawImage-Methode](https://learn.microsoft.com/de-de/dotnet/api/system.drawing.graphics.drawimage) Falls du ein anderes Steuerelement verwendest, bitte die genaue Bezeichnung angeben.
Das von dir beschriebene Verhalten in VB.NET 2003, dass ein 1 px breites Bild nach dem Laden mit `Image.FromStream` plötzlich `img.Width = 15` ergibt, kann mehrere Ursachen haben. Hier sind die h... [mehr]
In VB.NET 2003 gibt es einen wichtigen Unterschied zwischen `Image.FromFile` und `File.OpenRead`: **1. `Image.FromFile`** - Gehört zur Klasse [`System.Drawing.Image`](https://learn.microsoft.c... [mehr]
In VB.NET 2003 (also Visual Basic .NET 1.1) gilt Folgendes: - Der Ausdruck `CInt(True)` ergibt **-1**. - Der Ausdruck `CInt(False)` ergibt **0**. Das liegt daran, dass in VB.NET (wie auch in klassis... [mehr]
In VB.NET 2003 gibt es keine direkte Möglichkeit, die Transparenzfarbe (TransparentColor) eines Icons zu ermitteln, das mit `SHGetFileInfo` extrahiert wurde, da das von `SHGetFileInfo` zurüc... [mehr]
In VB.NET 2003 kannst du eine Farbe aus der Aufzählung `KnownColor` auswählen und daraus ein `Color`-Objekt erstellen. Das geht so: ```vb.net Dim meineFarbe As Color meineFarbe = Color.From... [mehr]
In VB.NET 2003 (also .NET Framework 1.1) hat das Hinzufügen von Imports-Anweisungen für nicht verwendete Namespaces oder Klassen in der Regel **keinen nennenswerten Einfluss auf die Grö... [mehr]
In **VB.NET 2003** (also .NET Framework 1.1) ist die Unterstützung für Bilder in Menüs standardmäßig auf **Icons** (also `.ico`-Dateien) beschränkt. Das betrifft sowohl... [mehr]
Ja, in **VB.NET 2003** kann folgender Vergleich zu einem Fehler führen: ```vb If shinfo.hIcon <> IntPtr.Zero Then ' ... End If ``` **Grund:** In VB.NET 2003 (also .NET Framewor... [mehr]
Um ein mit `SHGetFileInfo` extrahiertes Icon in VB.NET 2003 unter einem anderen Namen zu speichern, gehst du wie folgt vor: 1. **Icon extrahieren:** Mit `SHGetFileInfo` erhältst du einen Handle... [mehr]
Der Fehler „Der Vorgang 'read' konnte nicht auf dem Speicher...“ ist kein typischer .NET-Fehler, sondern ein Zugriffsverletzungsfehler (Access Violation), der meist auftritt, wen... [mehr]