Guten Tag
Ich habe folgendes vor. Ich habe ein Bild in der PB1(PictureBox1) und davon möchte ich einen Teil ausschneiden. Die Position und Größe gebe ich per Schieberegler durch.
Allerdings gibt's Probleme.
Das Problem ist das die Positionen und Maße nicht vernünftig übernommen werden. Links unten das Original Bild und oben in der Mitte das Bild was ausgeschnitten werden soll.
Man sieht trotz anpassen diverser Regler ändert sich nur die Breite.
Aber irgendwie sollte des so auch nicht sein. Habe ich irgendwas falsch gemacht?
Ich habe folgendes vor. Ich habe ein Bild in der PB1(PictureBox1) und davon möchte ich einen Teil ausschneiden. Die Position und Größe gebe ich per Schieberegler durch.
Allerdings gibt's Probleme.
Das Problem ist das die Positionen und Maße nicht vernünftig übernommen werden. Links unten das Original Bild und oben in der Mitte das Bild was ausgeschnitten werden soll.
Man sieht trotz anpassen diverser Regler ändert sich nur die Breite.
Aber irgendwie sollte des so auch nicht sein. Habe ich irgendwas falsch gemacht?
VB.NET-Quellcode
- Imports System.Drawing.Imaging
- Imports System.Net
- Imports Vintasoft.Barcode
- Public Class LabelCreator
- Dim FullPic As Image = Nothing
- Dim HalfPic As Image = Nothing
- Dim selection As Rectangle
- Private Sub ChangePicture()
- If FullPic IsNot Nothing Then
- PictureBox1.Image = FullPic
- selection = New Rectangle(TrackBar1.Value, TrackBar2.Value, TrackBar4.Value, TrackBar3.Value)
- PictureBox2.Image = FullPic
- End If
- End Sub
- Private Sub LabelCreator_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- ListBox1.Items.Clear()
- With ListBox1.Items
- .Add("Onlineshop")
- .Add("DHL")
- .Add("Hermes")
- End With
- ListBox2.Items.Clear()
- End Sub
- Private Sub ListBox1_SelectedValueChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedValueChanged
- Select Case ListBox1.SelectedItem
- Case "DHL"
- ListBox2.Items.Clear()
- With ListBox2.Items
- .Add("Label abrufen (Manuell)")
- End With
- Case "Onlineshop"
- ListBox2.Items.Clear()
- With ListBox2.Items
- .Add("Amazon Retoure (gif)")
- End With
- End Select
- End Sub
- Private Sub ListBox2_SelectedValueChanged(sender As Object, e As EventArgs) Handles ListBox2.SelectedValueChanged
- Select Case ListBox2.SelectedItem
- Case "Label abrufen (Manuell)"
- Case "Amazon Retoure (gif)"
- Timer1.Enabled = True
- Timer1.Start()
- End Select
- '' ListBox1.Enabled = False
- ''ListBox2.Enabled = False
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- Timer1.Stop()
- If My.Computer.Clipboard.ContainsImage Then
- Dim Res As MsgBoxResult = MessageBox.Show("Soll das Bild was sie eben in die zwicheablage kopiert haben, genutzt werden?", "Bild in der Zwichenablage nutzen?", MessageBoxButtons.YesNo)
- If Res = MsgBoxResult.Yes Then
- FullPic = (My.Computer.Clipboard.GetImage)
- My.Computer.Clipboard.Clear()
- PictureBox1.Image = FullPic
- TrackBar3.Maximum = FullPic.Height
- TrackBar4.Maximum = FullPic.Width
- End If
- End If
- Timer1.Start()
- End Sub
- Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
- ChangePicture()
- End Sub
- Private Sub TrackBar2_Scroll(sender As Object, e As EventArgs) Handles TrackBar2.Scroll
- ChangePicture()
- End Sub
- Private Sub TrackBar3_Scroll(sender As Object, e As EventArgs) Handles TrackBar3.Scroll
- ChangePicture()
- End Sub
- Private Sub TrackBar4_Scroll(sender As Object, e As EventArgs) Handles TrackBar4.Scroll
- ChangePicture()
- End Sub
- Private Sub PictureBox2_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox2.Paint
- If PictureBox2.Image IsNot Nothing Then
- Dim bmp As Bitmap = New Bitmap(PictureBox2.Image)
- Dim Rec As Rectangle = selection
- Dim Pformat As PixelFormat = bmp.PixelFormat
- Dim cloneBitmap As Bitmap = New Bitmap(TrackBar4.Value, TrackBar3.Value)
- cloneBitmap = bmp.Clone(Rec, Pformat)
- e.Graphics.DrawImage(cloneBitmap, 0, 0)
- 'Dim cl As Bitmap = New Bitmap(im, TrackBar4.Value, TrackBar3.Value)
- 'e.Graphics.DrawImage(im, 0, 0)
- End If
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- PictureBox2.Refresh()
- End Sub
- End Class