| |
VB.NET - Ein- und UmsteigerImageviewer | | | Autor: Thomas01 | Datum: 13.05.17 06:27 |
| Moin,
ich möchte an einer gewissen Stelle am Monitor ein Bild positionieren.
Also FormBorderstyle auf None und StartPosition vergeben.
Wie kann ich beim Start des Programms die im gleichen Ordner enthaltenen jpgs laden, und diese per linker und rechter Maustaste weiterschalten ?
Tschüss | |
Re: Imageviewer | | | Autor: Manfred X | Datum: 13.05.17 08:21 |
| Hallo!
Bitmap-Objekt zum Laden eines Bildes verwenden
(Binding-)ListOf(Bitmap) zur Aufbewahrung der Bilderserie nutzen
Abhängig vom Projekttyp (WPF, WinForms):
ein geeignetes Display-Control einsetzen
Zum Schalten:
ein Maus-Event des Control verarbeiten
(Listenindex umsetzen, Display-Control aktualisieren)
Das Laden der Bilderserie am besten im Hintergrund
(Backgroundworker) vornehmen.
Falls es sehr viele Bilder sind, immer nur einen
Teil im Hintergrund laden und bei Bedarf nachladen.
(sonst Speicherüberlauf).
Zur Aufbewahrung von JPGs könnte man auch die
komprimierte Bitfolge aus der Datei in einen
Memorystream laden (Speicherersparnis) und erst
zur Anzeige dekomprimieren.
http://www.vbarchiv.net/forum/id31_i1563t1563_blockierung-von-bilddateien-verhindern-vbnet.html
Beitrag wurde zuletzt am 13.05.17 um 08:24:23 editiert. | |
Re: Imageviewer | | | Autor: Thomas01 | Datum: 13.05.17 08:24 |
| Hi,
das mit dem Bildern habe ich hinbekommen.
Ich lasse mir in das bild noch ein Rechteck zeichnen mittels
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
Button1.Click
' x/y Breite Höhe
Dim RedPen As New Pen(Color.Red, 3)
Dim rect As New Rectangle(7, 515, 32, 15)
pbImage.CreateGraphics.DrawRectangle(RedPen, rect)
End Sub wie kann ich das Rechteck bei erneuten clicken wieder ausblenden lassen ?
Beitrag wurde zuletzt am 13.05.17 um 08:25:33 editiert. | |
Re: Imageviewer | | | Autor: Manfred X | Datum: 13.05.17 08:31 |
| Hallo!
Verwende (stets) das Paint-Event der Picturebox (?),
um in die Zeichenoberfläche das Rechteck einzutragen,
falls eine formular-global definierte Boolean-Variable
"true" ist, sonst: nicht zeichnen.
Beim Umsetzen des Wertes dieser Variable "ZeichneRechteck"
das "Invalidate" der Picturebox rufen.
Dadurch wird das Paint-Event ausgelöst und die Oberfläche
des Control (ganz oder teilweise) neu gezeichnet unter
Beachtung des Wertes der BOOL-Variable im Code:
If ZeichneRechteck then
'..... Rechteck zeichnen
End If
Beitrag wurde zuletzt am 13.05.17 um 08:34:34 editiert. | |
Re: Imageviewer | | | Autor: Thomas01 | Datum: 13.05.17 09:33 |
| wäre für ein Beispiel mit dem Paint-Event dankbar.
Irgendwie hab ich nen Denkfehler drinnen | |
Beispiel: Invalidate | | | Autor: Manfred X | Datum: 13.05.17 11:44 |
| Windows.Forms-Formular:
Public Class frmDrawRect
Dim WithEvents btnDrawRect As New Button With _
{.Parent = Me, .Text = "Zeichne Rechteck", .Width = 150}
Dim WithEvents pb As New PictureBox With _
{.Parent = Me, .Top = 50, .Size = New Size(300, 300), _
.SizeMode = PictureBoxSizeMode.CenterImage}
Dim DrawRect As Boolean = False
Private Sub frmDrawRect_Load(sender As System.Object, _
e As System.EventArgs) Handles MyBase.Load
Me.Size = New Size(350, 400)
Dim bmp As New Bitmap(250, 250)
Using g As Graphics = Graphics.FromImage(bmp)
g.Clear(Color.LightGray)
End Using
pb.Image = bmp
End Sub
Private Sub pb_Paint(sender As Object, _
e As System.Windows.Forms.PaintEventArgs) Handles pb.Paint
With e.Graphics
Using p As New Pen(Color.Green, 4)
.DrawEllipse(p, New Rectangle(New Point(0, 0), pb.Size))
If DrawRect Then
Dim rect As New Rectangle(New Point(60, 60), New Size(130, _
130))
.DrawRectangle(p, rect)
End If
End Using
End With
End Sub
Private Sub btnDrawRect_Click(sender As Object, _
e As System.EventArgs) Handles btnDrawRect.Click
DrawRect = Not DrawRect
btnDrawRect.Text = _
If(DrawRect, "Entferne Rechteck", "Zeichne Rechteck")
pb.Invalidate()
End Sub
End Class | |
| 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 |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere Infos
|
|
|
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
|
|