.
Anmeldung | Registrieren | Hilfe
in Suchen

Bild Zeile für Zeile Zeichnen lassen

Letzter Beitrag 01. Mrz 2010 11:10 von Nasenbaer. 1 Antworten.
Seite 1 von 1 (2 Treffer)
Beiträge sortieren: Zurück Weiter
  • 25. Feb 2010 14:48

    • 4_woerny
    • Top 75 Mitwirkender
      Männlich
    • Registriert am 25. Jun 2009
    • veitsbach
    • Beiträge 21
    • Punkte 300

    Bild Zeile für Zeile Zeichnen lassen

    Hallo @ all,

    ich bin grad am verzweifeln [:'(]

    Beim klick auf ein Button soll ein Image auf dem Form Zeile für Zeile gezeichnet werden, bis es letztlich fertig zu sehen ist.

    Ich bekomm nur das umgekehrte hin
    Das Bild wird übermalt....

     
    
    
    Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
            Dim line1 As New Bitmap(pic1.BackgroundImage)
            Dim xL As Single ='Start Links
            Dim xR As Single = 296 'Ende Rechts
            zaehlLinks += 1 'Zeilenhöhe links
            zaehlRechts += 1 'Zeilenhöhe rechts
    
    
            Using g = Graphics.FromImage(pic1.Image), Brush = New SolidBrush(Color.FromArgb(180, Color.Red))
                g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
                g.DrawLine(Pens.Black, xL, zaehlRechts, xR, zaehlLinks)
            End Using
            picOut.Invalidate()
            
            If zaehlLinks = pic1.Image.Height Then
                Timer2.Stop()
            End If
    
    
        End Sub

     

    Könnt Ihr mir auf die Sprünge helfen?

    Gruß
    Werner

    • IP-Adresse ist Registriert
  • 01. Mrz 2010 11:10 Antwort zu

    • Nasenbaer
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 07. Mrz 2008
    • Schweiz
    • Beiträge 99
    • Punkte 1.560

    Bild Zeile für Zeile Zeichnen lassen

    Hallo

    Also so aus dem Kopf würd ich so etwa ansetzen
    private Y as integer ' zeilenposition
    private withevents MeinTimer() Handles Timer1.Tick
    Y+=1
    if Y > me.picturebox1.image.height -1 then me.timer1.enabled = false
    end sub
    
    
    
    private sub calc
    using gr as graphics = graphics.fromimage(me.picturebox1.image)
    gr.clear(black)
    dim R as new rectangle(0,0,me.picturebox1.image.height, y)
    gr.drawimage(my.resources.SchönesBild, r, r, pixel)
    end using
    me.picturebox1.image.invaldiate
    endif


    das ist nicht so performant, weil man immer das ganze bild von oben her neu malt. aber es ist logisch. Du kannst auch nur jede Zeile malen, indem du das R nur ein pixel hoch malst und auf gr.clear(black) verzichtest.

    Gruss
    Nase
    • IP-Adresse ist Registriert
Seite 1 von 1 (2 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum