vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Grafik und Font · Bilder und Icons   |   VB-Versionen: VB2008, VB2010, VB201203.03.15
Erstellen einer ImageList aus Bitmaps mit gleicher Größe und nur einer Farbe

Es wird eine Funktion mit Hilfsfunktion gezeigt, die eine gewisse Menge von rechteckigen Bitmaps erzeugt und dann in einer Imagelist speichert.

Autor:   Dietrich HerrmannBewertung:     [ Jetzt bewerten ]Views:  9.380 
ohne HomepageSystem:  Win7, Win8, Win10, Win11kein Beispielprojekt 

Ich denke, eine gewisse Anzahl von 'kleinen' Bildern (Images), die nur eine bestimmte Farbe präsentieren, kann man schon manchmal brauchen. Vorteil dieser Methode ist, dass man solche Bitmaps nicht mittels Paint- oder anderem Zeichen-Programm erzeugen muss. Sie stehen dann in einer Imagelist zur Verfügung.

Aufruf:

Dim iList As ImageList = CreateImageList(New Size(48, 24), col)

mit

Dim col() As Color = {Color.Red, _
  Color.Green, Color.Blue, Color.Gold, Color.Brown}

Dies bedeutet, dass eine Imagelist erzeugt wird, die Bilder der Größe 48x24 (Breite x Höhe) mit den im Color-Feld enthaltenen Farben enthalten wird. Das Color-Feld ist hier ziemlich klein, man kann natürlich wesentlich mehr Farben angeben.

Hier die Funktion:

''' <summary>
'''   Erstellen einer ImageList aus Bitmaps mit gleicher Größe und nur einer Farbe
''' </summary>
''' <param name="pSize">die Größe der Bitmaps</param>
''' <param name="theColors">ein Feld der gewünschten Farben</param>
''' <returns>eine Imagelist</returns>
Private Function CreateImageList(pSize As Size, theColors As Array) As ImageList
  Dim il As ImageList, pb As PictureBox
 
  il = New ImageList
  With il
    .ImageSize = New Size(pSize.Width, pSize.Height)
    .ColorDepth = ColorDepth.Depth24Bit
  End With
  pb = New PictureBox
  For i As Short = 0 To theColors.Length - 1
    pb.Image = setbitmp(theColors(i), pSize)
    il.Images.Add(i, pb.Image)
  Next 
  Return il
End Function

Hilfsfunktion:

''' <summary>
'''   Erzeugen einer Bitmap mit einer bestimmten Größe und nur einer Farbe
''' </summary>
''' <param name="c">die füllende Farbe</param>
''' <param name="bSize">die Größe der Bitmap</param>
''' <returns>eine Bitmap</returns>
Private Function setbitmp(c As Color, bSize As Size) As Bitmap
  Dim bmp As Bitmap
 
  bmp = New Bitmap(bSize.Width, bSize.Height)
  With bmp
    For i As Short = 0 To bmp.Width - 1
      For j As Short = 0 To bmp.Height - 1
        .SetPixel(i, j, c)
      Next 
    Next 
  End With
  Return bmp
End Function

Dieser Tipp wurde bereits 9.380 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

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