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   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2020
 
zurück

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

VB.NET - Fortgeschrittene
Re: Bild auf Bild einblenden 
Autor: Dikn
Datum: 23.06.20 13:41

Vielen Dank für Deine Tipps!!!
Ich habe es jetzt so geändert:

Public Class Form4
    Private ActivePic, NextPic As Bitmap
    Private i As Integer = 0
    Private PicSize As Size = New Size(560, 315)
 
    Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ActivePic = GetPic("C:\...\XXX.JPG", PicSize)
        NextPic = GetPic("C:\...\YYY.jpg", PicSize)
        PB1.Image = New Bitmap(ActivePic)
        PB2.Image = New Bitmap(NextPic)
    End Sub
 
    Private Function GetPic(filename As String, picsize As Size) As Bitmap
        Dim bmpout As Bitmap
 
        Using bmp As New Bitmap(filename)
            Dim w, h, l, t As Integer
            w = CInt(bmp.Width * picsize.Height / bmp.Height) 
            h = picsize.Height
            If w > picsize.Width Then
                h = CInt(bmp.Height * picsize.Width / bmp.Width)
                w = picsize.Width
            End If 
            l = (picsize.Width - w) \ 2
            t = (picsize.Height - h) \ 2
 
            bmpout = New Bitmap(picsize.Width + 1, picsize.Height)
 
            Using gout As Graphics = Graphics.FromImage(bmpout)
                gout.InterpolationMode = _
                  Drawing2D.InterpolationMode.HighQualityBicubic
                gout.Clear(Color.Black)
 
                'gout.DrawImage(bmp, New Rectangle(l, t, w, h), _
                        New Rectangle(0, 0, bmp.Width, bmp.Height), _
                        GraphicsUnit.Pixel)
               'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                gout.DrawImage(bmp, New Rectangle(l - 1, t - 1, w + 1, h + 1), _
                        New Rectangle(0, 0, bmp.Width - 1, bmp.Height), _
                        GraphicsUnit.Pixel)
               'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
            End Using
        End Using
 
        Return bmpout
    End Function
 
    Private Sub Btn_LR_Click(sender As Object, e As EventArgs) Handles _
      Btn_LR.Click
        i = 0
        Do While i <= 560 / 10
            Fade(0, 0, i * 10, 315, 0, 0, i * 10, 315)
        Loop
    End Sub
 
    Private Sub Btn_OU_Click(sender As Object, e As EventArgs) Handles _
      Btn_OU.Click
        i = 0
        Do While i <= 315 / 10
            Fade(0, 0, 560, i * 10, 0, 0, 560, i * 10)
        Loop
        Fade(0, 0, 560, 315, 0, 0, 560, 315)
    End Sub
 
    Private Sub Btn_L_Click(sender As Object, e As EventArgs) Handles _
      Btn_L.Click
        i = 0
        Do While i <= 560 / 10
            Fade(0, 0, i * 10, 315, 560 - i * 10, 0, i * 10, 315)
        Loop
    End Sub
 
    Private Sub Fade(A0, A1, A2, A3, A4, A5, A6, A7)
         i += 1
        'Threading.Thread.Sleep(100)
        Using bm As New Bitmap(PicSize.Width, PicSize.Height)
            Dim g2 As Graphics = Graphics.FromImage(bm)
            g2.DrawImage(ActivePic, 0, 0, PicSize.Width, PicSize.Height)
            g2.DrawImage(NextPic, New Rectangle(A0, A1, A2, A3), _
                                                   New Rectangle(A4, A5, A6, _
                                                   A7), GraphicsUnit.Pixel)
            Dim g As Graphics = PB1.CreateGraphics
            g.DrawImage(bm, 0, 0, PicSize.Width, PicSize.Height)
        End Using
    End Sub
End Class
Meine Alternative für gout.DrawImage(...) beseitigt die Streifen an den Rändern ???
Der rechte bzw. untere Rand des einblendenden Bildes flackert ???
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bild auf Bild einblenden138Dikn22.06.20 11:57
Re: Bild auf Bild einblenden68Manfred X22.06.20 13:14
Bild-Datei zentriert in eine vorgegebene Fläche einpassen63Manfred X22.06.20 14:15
Re: Bild auf Bild einblenden29Dikn23.06.20 13:41
Re: Bild auf Bild einblenden47Manfred X23.06.20 16:35
Re: Bild auf Bild einblenden16Dikn25.06.20 12:26
Animation: Bild in Picturebox verschieben29Manfred X25.06.20 13:34
Re: Bild auf Bild einblenden13Dikn26.06.20 08:48
Re: Bild auf Bild einblenden18Manfred X26.06.20 11:40
Animation: Bild über Bild schieben20Manfred X26.06.20 12:26
Re: Bild auf Bild einblenden15Dikn28.06.20 13:50
Re: Bild auf Bild einblenden11Dikn28.06.20 14:04

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