VB.Net Tutorial/2D Graphics/Image Cut Paste — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 16:40, 26 мая 2010
Image Cut, Copy and Paste
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
Imports System.Math
public class ImageCutCopyPaste
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Clipboard.SetDataObject(PictureBox1.Image, True)
PictureBox1.CreateGraphics.Clear(Me.PictureBox1.BackColor)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim clipboard_data As IDataObject
clipboard_data = Clipboard.GetDataObject()
If clipboard_data.GetDataPresent(DataFormats.Bitmap) Then
PictureBox2.CreateGraphics.DrawImage(clipboard_data.GetData(DataFormats.Bitmap), 0, 0)
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Clipboard.SetDataObject(PictureBox1.Image, True)
End Sub
End Class
<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form
"Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.IContainer
"NOTE: The following procedure is required by the Windows Form Designer
"It can be modified using the Windows Form Designer.
"Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.PictureBox1 = New System.Windows.Forms.PictureBox
Me.PictureBox2 = New System.Windows.Forms.PictureBox
Me.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.Button3 = New System.Windows.Forms.Button
CType(Me.PictureBox1, System.ruponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox2, System.ruponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
"
"PictureBox1
"
Me.PictureBox1.Image = System.Drawing.Image.FromFile("yourfile.jpg")
Me.PictureBox1.Location = New System.Drawing.Point(17, 19)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(217, 130)
Me.PictureBox1.TabIndex = 0
Me.PictureBox1.TabStop = False
"
"PictureBox2
"
Me.PictureBox2.Location = New System.Drawing.Point(250, 19)
Me.PictureBox2.Name = "PictureBox2"
Me.PictureBox2.Size = New System.Drawing.Size(218, 129)
Me.PictureBox2.TabIndex = 1
Me.PictureBox2.TabStop = False
"
"Button1
"
Me.Button1.Location = New System.Drawing.Point(64, 189)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 2
Me.Button1.Text = "Cut"
Me.Button1.UseVisualStyleBackColor = True
"
"Button2
"
Me.Button2.Location = New System.Drawing.Point(207, 189)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(75, 23)
Me.Button2.TabIndex = 3
Me.Button2.Text = "Copy"
Me.Button2.UseVisualStyleBackColor = True
"
"Button3
"
Me.Button3.Location = New System.Drawing.Point(354, 189)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(75, 23)
Me.Button3.TabIndex = 4
Me.Button3.Text = "Paste"
Me.Button3.UseVisualStyleBackColor = True
"
"Form1
"
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(486, 240)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.PictureBox2)
Me.Controls.Add(Me.PictureBox1)
CType(Me.PictureBox1, System.ruponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox2, System.ruponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
Friend WithEvents PictureBox2 As System.Windows.Forms.PictureBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Button3 As System.Windows.Forms.Button
End Class
Image Cut, Copy and Paste with ClipBoard
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ImageCutCopyPaste
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private components As System.ruponentModel.IContainer
Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
Friend WithEvents Splitter1 As System.Windows.Forms.Splitter
Friend WithEvents PictureBox2 As System.Windows.Forms.PictureBox
Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem5 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem6 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem7 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem8 As System.Windows.Forms.MenuItem
Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog
Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.MainMenu1 = New System.Windows.Forms.MainMenu
Me.MenuItem1 = New System.Windows.Forms.MenuItem
Me.MenuItem2 = New System.Windows.Forms.MenuItem
Me.MenuItem3 = New System.Windows.Forms.MenuItem
Me.MenuItem4 = New System.Windows.Forms.MenuItem
Me.MenuItem5 = New System.Windows.Forms.MenuItem
Me.MenuItem6 = New System.Windows.Forms.MenuItem
Me.MenuItem7 = New System.Windows.Forms.MenuItem
Me.MenuItem8 = New System.Windows.Forms.MenuItem
Me.PictureBox1 = New System.Windows.Forms.PictureBox
Me.Splitter1 = New System.Windows.Forms.Splitter
Me.PictureBox2 = New System.Windows.Forms.PictureBox
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog
Me.SuspendLayout()
"
"MainMenu1
"
Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem5})
"
"MenuItem1
"
Me.MenuItem1.Index = 0
Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem2, Me.MenuItem3, Me.MenuItem4})
Me.MenuItem1.Text = "File"
"
"MenuItem2
"
Me.MenuItem2.Index = 0
Me.MenuItem2.Text = "Open"
"
"MenuItem3
"
Me.MenuItem3.Index = 1
Me.MenuItem3.Text = "Save"
"
"MenuItem4
"
Me.MenuItem4.Index = 2
Me.MenuItem4.Text = "Exit"
"
"MenuItem5
"
Me.MenuItem5.Index = 1
Me.MenuItem5.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem6, Me.MenuItem7, Me.MenuItem8})
Me.MenuItem5.Text = "Exit"
"
"MenuItem6
"
Me.MenuItem6.Index = 0
Me.MenuItem6.Text = "Copy"
"
"MenuItem7
"
Me.MenuItem7.Index = 1
Me.MenuItem7.Text = "Cut"
"
"MenuItem8
"
Me.MenuItem8.Index = 2
Me.MenuItem8.Text = "Paste"
"
"PictureBox1
"
Me.PictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.PictureBox1.Dock = System.Windows.Forms.DockStyle.Left
Me.PictureBox1.Location = New System.Drawing.Point(0, 0)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(216, 266)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.PictureBox1.TabIndex = 0
Me.PictureBox1.TabStop = False
"
"Splitter1
"
Me.Splitter1.Location = New System.Drawing.Point(216, 0)
Me.Splitter1.Name = "Splitter1"
Me.Splitter1.Size = New System.Drawing.Size(8, 266)
Me.Splitter1.TabIndex = 1
Me.Splitter1.TabStop = False
"
"PictureBox2
"
Me.PictureBox2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.PictureBox2.Dock = System.Windows.Forms.DockStyle.Fill
Me.PictureBox2.Location = New System.Drawing.Point(224, 0)
Me.PictureBox2.Name = "PictureBox2"
Me.PictureBox2.Size = New System.Drawing.Size(248, 266)
Me.PictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.PictureBox2.TabIndex = 2
Me.PictureBox2.TabStop = False
"
"OpenFileDialog1
"
Me.OpenFileDialog1.Filter = "BMP(*.bmp)|*.bmp"
"
"SaveFileDialog1
"
Me.SaveFileDialog1.Filter = "BMP(*.bmp)|*.bmp"
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(472, 266)
Me.Controls.Add(Me.PictureBox2)
Me.Controls.Add(Me.Splitter1)
Me.Controls.Add(Me.PictureBox1)
Me.Menu = Me.MainMenu1
Me.ResumeLayout(False)
End Sub
Dim pic As Image
Dim x As New DataObject
Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
OpenFileDialog1.ShowDialog()
pic = New Bitmap(OpenFileDialog1.FileName)
PictureBox1.Image = pic
End Sub
Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
Dim path As String
pic = PictureBox2.Image
SaveFileDialog1.ShowDialog()
pic.Save(SaveFileDialog1.FileName)
End Sub
Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click
End
End Sub
Private Sub MenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem6.Click
x.SetData(DataFormats.Bitmap, False, pic)
System.Windows.Forms.Clipboard.SetDataObject(x)
End Sub
Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
x.SetData(DataFormats.Bitmap, False, pic)
System.Windows.Forms.Clipboard.SetDataObject(x)
PictureBox1.Image = Nothing
End Sub
Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.Click
x = System.Windows.Forms.Clipboard.GetDataObject
pic = x.GetData(DataFormats.Bitmap)
PictureBox2.Image = pic
End Sub
End Class