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öße555BasicOpa08.11.23 14:05
Re: PictureBox Maximale Größe246Manfred X08.11.23 15:21
Re: PictureBox Maximale Größe204BasicOpa09.11.23 17:54
Re: PictureBox Maximale Größe216Manfred X09.11.23 19:09
Re: PictureBox Maximale Größe240BasicOpa10.11.23 13:59
Re: PictureBox Maximale Größe247Manfred X10.11.23 14:31
Demo-Formular zur Bitmap-Freigabe217Manfred X11.11.23 08:07
Re: Demo-Formular zur Bitmap-Freigabe250BasicOpa11.11.23 14:19
Re: Demo-Formular zur Bitmap-Freigabe179Manfred X11.11.23 15:42
Re: Demo-Formular zur Bitmap-Freigabe216BasicOpa12.11.23 15:35
Re: Demo-Formular zur Bitmap-Freigabe231Manfred X12.11.23 16:44
Re: Demo-Formular zur Bitmap-Freigabe235BasicOpa13.11.23 00:06
Re: Demo-Formular zur Bitmap-Freigabe181BasicOpa13.11.23 14:26
Re: Demo-Formular zur Bitmap-Freigabe206Manfred X13.11.23 17:15
Re: PictureBox Maximale Größe214sv0001013.11.23 20:18
Re: PictureBox Maximale Größe183Manfred X13.11.23 21:16
Re: PictureBox Maximale Größe202Kuno6014.11.23 00:09
Re: PictureBox Maximale Größe252Manfred X14.11.23 05:20
Re: PictureBox Maximale Größe283sv0001014.11.23 07:47
Re: PictureBox Maximale Größe232Manfred X14.11.23 08:37
Re: PictureBox Maximale Größe200Kuno6015.11.23 12:17
Re: PictureBox Maximale Größe172Manfred X15.11.23 13:55
Re: PictureBox Maximale Größe204BasicOpa15.11.23 17:25
Re: PictureBox Maximale Größe172Manfred 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