vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Bild aus PictureBox1 in PictureBox2 kopieren 
Autor: Preisser
Datum: 26.08.11 21:00

Hallo.

sorry, aber ich finde es schon ziemlich unverschämt, mir vorzuwerfen ich hätte keine Ahnung und würde doofe Sprüche loslassen, obwohl ich dich doch nur darauf hinweisen wollte, dass dir anscheinend ein paar grundlegende Kenntnisse über das Zeichnen in WinForms fehlen (siehe Zitat: "zweitens, Paint-Ereignis ist nichts für mich, da ich per Button die Eingabe steuere. Ich ziehe nichts klein oder groß, also brauche ich keine Neuzeichnung!!!") und ich dir ja nur helfen wollte.

Wenn du dir meine Postings ein bisschen genauer durchgelesen hättest, hättest du vielleicht verstanden, welche Nachteile CreateGraphics() hat und wie man besser in ein Control zeichnen sollte.
Mit dem Zeichnen über das Paint-Ereignis (statt der CreateGraphics()-Methode) hätte es vermutlich geklappt.


Hier noch mal ein Beispielcode (ich geb zu, die Variablennamen sind hier auch nicht die besten ), wie man soetwas mit dem Paint-Ereignis machen kann (funktioniert mit einer leeren Form).
Dort wird per Timer eine drehende Linie gezeichnet, und wenn man auf den Button klickt, wird ein Abbild des aktuellen Bildes erstellt und vergrößert in der zweiten PictureBox gezeichnet. Hier bleibt das Bild in der 2. PictureBox auch erhalten, wenn sie z.B. minimiert und wiederhergestellt wird.
Public Class Form3
 
    Private WithEvents picSource As New PictureBox With {.Height = 100, .Width _
      = 100, .Left = 10, .Top = 10}
    Private WithEvents picTarget As New PictureBox With {.Height = 150, .Width _
    = 150, .Left = 120, .Top = 10}
    Private WithEvents CopyButton As New Button() With {.Height = 20, .Width = _
    60, .Left = 10, .Top = 120, .Text = "Copy"}
    Private WithEvents Timer1 As New Timer With {.Interval = 20, .Enabled = _
    True}
 
    Private ReadOnly bmpSource As New Bitmap(100, 100, _
      System.Drawing.Imaging.PixelFormat.Format32bppArgb)
    Private ReadOnly bmpSourceG As Graphics = Graphics.FromImage(bmpSource)
    Private bmpTarget = Nothing
 
    Private aktWinkel As Double = 0
 
    Public Sub New()
        InitializeComponent()
 
        bmpSourceG.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
        picSource.Image = bmpSource
 
        Controls.Add(picSource)
        Controls.Add(picTarget)
        Controls.Add(CopyButton)
    End Sub
 
    Private Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles _
      Timer1.Tick
        ' Winkel erhöhen
        aktWinkel += 0.02
        bmpSourceG.Clear(Color.White)
        bmpSourceG.DrawLine(Pens.Black, New Point(50, 50), New Point(50 + 50 * _
          Math.Cos(aktWinkel), 50 + 50 * Math.Sin(aktWinkel)))
        picSource.Invalidate() 'Neuzeichenn auslösen
    End Sub
 
    Private Sub CopyButton_Click(sender As Object, e As System.EventArgs) _
      Handles CopyButton.Click
        If bmpTarget IsNot Nothing Then bmpTarget.Dispose()
        bmpTarget = New Bitmap(bmpSource)
        picTarget.Invalidate()
    End Sub
 
    Private Sub picTarget_Paint(sender As Object, e As _
      System.Windows.Forms.PaintEventArgs) Handles picTarget.Paint
        If bmpTarget IsNot Nothing Then
            Dim g As Graphics = e.Graphics
            g.DrawImage(bmpTarget, New Rectangle(0, 0, picTarget.Width, _
              picTarget.Height))
        End If
    End Sub
End Class


Beitrag wurde zuletzt am 27.08.11 um 00:52:08 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bild aus PictureBox1 in PictureBox2 kopieren4.811apelles23.08.11 19:47
Re: Bild asu PictureBox1 in PictureBox2 kopieren3.006Preisser23.08.11 22:15
Re: Bild asu PictureBox1 in PictureBox2 kopieren3.026apelles24.08.11 09:57
Re: Bild asu PictureBox1 in PictureBox2 kopieren2.918ModeratorDaveS24.08.11 10:39
Re: Bild asu PictureBox1 in PictureBox2 kopieren3.005Preisser24.08.11 13:15
Re: Bild asu PictureBox1 in PictureBox2 kopieren2.954cookstdu24.08.11 17:00
Re: Bild asu PictureBox1 in PictureBox2 kopieren3.008ModeratorDaveS24.08.11 17:26
Re: Bild asu PictureBox1 in PictureBox2 kopieren2.927Preisser24.08.11 17:29
Re: Bild asu PictureBox1 in PictureBox2 kopieren2.895ModeratorDaveS24.08.11 17:45
Re: Bild asu PictureBox1 in PictureBox2 kopieren2.887cookstdu24.08.11 17:53
Re: Bild asu PictureBox1 in PictureBox2 kopieren2.884ModeratorDaveS24.08.11 18:09
Re: Bild aus PictureBox1 in PictureBox2 kopieren2.977apelles26.08.11 13:02
Re: Bild aus PictureBox1 in PictureBox2 kopieren3.261ModeratorDaveS26.08.11 13:13
Re: Bild aus PictureBox1 in PictureBox2 kopieren3.223Preisser26.08.11 21:00
Re: Bild aus PictureBox1 in PictureBox2 kopieren3.036apelles26.08.11 13:37
Re: Bild aus PictureBox1 in PictureBox2 kopieren2.942ModeratorDaveS26.08.11 13:44

Thread wurde geschlossen!
Dieser Thread wurde von den Moderatoren geschlossen, d.h. es können keine neuen Beiträge mehr gepostet werden!

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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