vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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 - Fortgeschrittene
Re: Transparente Bilder 
Autor: GPM
Datum: 21.02.18 14:39

Die Skalierung aus der Startgrösse kannst du einfach
im Paint-Event machen. Siehe Beispiel hier.
Wenn du diese Bilder aber danach bearbeiten willst
passen die Handler nicht mehr.
D.h. unskaliert bearbeiten und skaliert anzeigen.
Andernfalls müssten die Handler nach jeder Skalierung
neu berechnet werden. Das wäre dann aber deine Baustelle.

Imports System.Drawing.Drawing2D
Public Class Form1
    Dim WithEvents Pb As New PictureBox With {.Dock = DockStyle.Fill, .Parent = _
      Me}
    Dim hgrund As Bitmap = SystemIcons.Shield.ToBitmap
    Dim picList As New List(Of MyPicture)  'Bilderliste
 
    Private Sub Form1_Load(sender As System.Object, e As EventArgs) Handles _
      MyBase.Load
        Me.ClientSize = New Size(800, 800) ' Startwert = Skalierung 1
        For y = 200 To 400 Step 100
            picList.Add(New MyPicture With {.Img = _
              SystemIcons.Warning.ToBitmap, .Bounds = New Rectangle(220, y, 64, _
              64)})
            picList.Add(New MyPicture With {.Img = SystemIcons.Error.ToBitmap, _
            .Bounds = New Rectangle(370, y, 64, 64)})
            picList.Add(New MyPicture With {.Img = Me.Icon.ToBitmap, .Bounds = _
            New Rectangle(520, y, 64, 64)})
        Next
    End Sub
 
    Private Sub Pb_Paint(sender As Object, e As PaintEventArgs) Handles Pb.Paint
        e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor
        e.Graphics.DrawImage(hgrund, 0, 0, Pb.Width, Pb.Height)
        For Each pic In picList
            Dim r As Rectangle = pic.Bounds
            e.Graphics.DrawImage(pic.Img, New Rectangle(CInt(r.X * scalef.X), _
              CInt(r.Y * scalef.Y),
                                              CInt(r.Width * scalef.X), CInt( _
                                              r.Height * scalef.Y)))
        Next
    End Sub
 
    Dim scalef As New PointF(1.0, 1.0)
    Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize
        scalef = New PointF(CSng(Me.ClientSize.Width / 800), CSng( _
          Me.ClientSize.Height / 800))
        Pb.Invalidate()
    End Sub
End Class
 
Public Class MyPicture
    Public Img As Bitmap
    Public Bounds As Rectangle
End Class
MfG GPM
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Transparente Bilder1.935dm148515.02.18 09:03
Re: Transparente Bilder1.028Manfred X15.02.18 11:52
Re: Transparente Bilder1.130dm148515.02.18 13:27
Re: Transparente Bilder990Manfred X15.02.18 18:06
Re: Transparente Bilder1.004dm148516.02.18 10:07
Re: Transparente Bilder1.012Manfred X16.02.18 11:53
Re: Transparente Bilder983dm148516.02.18 13:44
Re: Transparente Bilder999Manfred X16.02.18 15:16
Re: Transparente Bilder1.002dm148516.02.18 15:29
Re: Transparente Bilder1.085dm148516.02.18 13:54
Re: Transparente Bilder960dm148516.02.18 14:44
Re: Transparente Bilder982Kuno6016.02.18 22:26
Re: Transparente Bilder951GPM17.02.18 15:43
Re: Transparente Bilder988dm148519.02.18 12:01
Re: Transparente Bilder1.028GPM19.02.18 23:56
Re: Transparente Bilder1.035dm148520.02.18 09:17
Re: Transparente Bilder989GPM20.02.18 11:08
Re: Transparente Bilder1.099dm148520.02.18 11:18
Re: Transparente Bilder983GPM20.02.18 22:26
Re: Transparente Bilder1.059dm148520.02.18 22:55
Re: Transparente Bilder981dm148521.02.18 08:50
Re: Transparente Bilder919GPM21.02.18 14:39
Re: Transparente Bilder888dm148521.02.18 21:18
Re: Transparente Bilder880dm148524.02.18 21:15

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