vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: PictureBox Maximale Größe 
Autor: Manfred X
Datum: 10.11.23 14:31

Hallo!

Die meisten Klassen beziehen sich auf das Net-Framework (bzw. Net-Core).
Instanzen solcher Klassen werden an Windows (Garbage Collector) zum Löschen
freigegeben, sobald in der erstellenden Anwendung die letzte Referenz darauf
aufgehoben worden ist.

Es gibt aber Klassen, die nutzen uralte Windows-Methoden (Ressourcen).
Diese Klassen sind im Managementsystem des Net-Framework- (bzw. Net-Core)
nicht direkt zugänglich.
Es muss ein expliziter Aufruf der Dispose-Methode der Klasse erfolgen,
um die Windows-Ressourcen im Speicher wieder frei zu geben.
Das gilt für viele Windows.Forms.Controls und die entsprechenden
Klassen zum Zeichnen, sowie für Bitmaps.

Sei BMP eine Bitmap-Instanz:
Im Code gibt der Aufruf bmp.dispose die Windows-Ressourcen frei.
Das Bitmap-Objekt bmp ist jetzt noch vorhanden und referenziert,
aber es kann nicht länger genutzt werden.
Danach solltest Du im Code bmp = nothing setzen und dadurch die
(letzte) Referenz aufheben.
Einige Sekunden danach löscht Windows (GC) das Objekt aus dem Speicher.

Eine 32-Bit-Bitmap nutzt 32 Bit für die Farbcodierung eines Pixel,
das sind also 4 Byte.

Folgender Code funktioniert bei mir problemlos (Net-Core 6):
    Dim Gpx, GPy As Integer
    Gpx = 24361
    GPy = 5966
 
    Dim Gleisplan As New Bitmap(GpX, GpY, PixelFormat.Format32bppArgb)
 
    Using g As Graphics = Graphics.FromImage(Gleisplan),
            pn As New System.Drawing.Pen(Color.Blue, 4)
        g.Clear(Color.Yellow)
        g.DrawLine(pn, 0, 0, 24000, 5500)
    End Using
    Gleisplan.Save("G:\downloads\gleisplan.png", _
      Drawing.Imaging.ImageFormat.Png)
 
    Gleisplan.Dispose()
    Gleisplan = Nothing
Klappt auch bei FW 4.
Welche Framework-Version verwendest Du?

Beitrag wurde zuletzt am 10.11.23 um 15:01:19 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
PictureBox Maximale Größe456BasicOpa08.11.23 14:05
Re: PictureBox Maximale Größe182Manfred X08.11.23 15:21
Re: PictureBox Maximale Größe134BasicOpa09.11.23 17:54
Re: PictureBox Maximale Größe147Manfred X09.11.23 19:09
Re: PictureBox Maximale Größe165BasicOpa10.11.23 13:59
Re: PictureBox Maximale Größe180Manfred X10.11.23 14:31
Demo-Formular zur Bitmap-Freigabe147Manfred X11.11.23 08:07
Re: Demo-Formular zur Bitmap-Freigabe178BasicOpa11.11.23 14:19
Re: Demo-Formular zur Bitmap-Freigabe114Manfred X11.11.23 15:42
Re: Demo-Formular zur Bitmap-Freigabe148BasicOpa12.11.23 15:35
Re: Demo-Formular zur Bitmap-Freigabe165Manfred X12.11.23 16:44
Re: Demo-Formular zur Bitmap-Freigabe165BasicOpa13.11.23 00:06
Re: Demo-Formular zur Bitmap-Freigabe114BasicOpa13.11.23 14:26
Re: Demo-Formular zur Bitmap-Freigabe136Manfred X13.11.23 17:15
Re: PictureBox Maximale Größe149sv0001013.11.23 20:18
Re: PictureBox Maximale Größe113Manfred X13.11.23 21:16
Re: PictureBox Maximale Größe133Kuno6014.11.23 00:09
Re: PictureBox Maximale Größe166Manfred X14.11.23 05:20
Re: PictureBox Maximale Größe180sv0001014.11.23 07:47
Re: PictureBox Maximale Größe161Manfred X14.11.23 08:37
Re: PictureBox Maximale Größe131Kuno6015.11.23 12:17
Re: PictureBox Maximale Größe107Manfred X15.11.23 13:55
Re: PictureBox Maximale Größe139BasicOpa15.11.23 17:25
Re: PictureBox Maximale Größe106Manfred X15.11.23 21:50

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel