⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.vb

📁 主要用于各种图像的浮雕以及图像的透明以及动态
💻 VB
字号:
Imports System
Imports System.Drawing
Imports System.Drawing.ColorTranslator
Imports System.Drawing.Bitmap
Imports System.Drawing.Image
Imports System.Drawing.Imaging
Imports System.Math
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private i, j, x, y As Integer
    Private rgbpoint(1024, 768) As rgbp
#Region " Windows 窗体设计器生成的代码 "

    Public Sub New()
        MyBase.New()

        '该调用是 Windows 窗体设计器所必需的。
        InitializeComponent()

        '在 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

    'Windows 窗体设计器所必需的
    Private components As System.ComponentModel.IContainer

    '注意:以下过程是 Windows 窗体设计器所必需的
    '可以使用 Windows 窗体设计器修改此过程。
    '不要使用代码编辑器修改它。
    Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
    Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItemO As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItemS As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItemE As System.Windows.Forms.MenuItem
    Friend WithEvents PicBox1 As System.Windows.Forms.PictureBox
    Friend WithEvents PicBox2 As System.Windows.Forms.PictureBox
    Friend WithEvents MenuItemEm As System.Windows.Forms.MenuItem
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
        Me.MainMenu1 = New System.Windows.Forms.MainMenu
        Me.MenuItem1 = New System.Windows.Forms.MenuItem
        Me.MenuItemO = New System.Windows.Forms.MenuItem
        Me.MenuItemEm = New System.Windows.Forms.MenuItem
        Me.MenuItemS = New System.Windows.Forms.MenuItem
        Me.MenuItem4 = New System.Windows.Forms.MenuItem
        Me.MenuItemE = New System.Windows.Forms.MenuItem
        Me.PicBox1 = New System.Windows.Forms.PictureBox
        Me.PicBox2 = New System.Windows.Forms.PictureBox
        Me.SuspendLayout()
        '
        'MainMenu1
        '
        Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1})
        '
        'MenuItem1
        '
        Me.MenuItem1.Index = 0
        Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItemO, Me.MenuItemEm, Me.MenuItemS, Me.MenuItem4, Me.MenuItemE})
        Me.MenuItem1.Text = "File"
        '
        'MenuItemO
        '
        Me.MenuItemO.Index = 0
        Me.MenuItemO.Text = "&Open"
        '
        'MenuItemEm
        '
        Me.MenuItemEm.Index = 1
        Me.MenuItemEm.Text = "&Embossment"
        '
        'MenuItemS
        '
        Me.MenuItemS.Index = 2
        Me.MenuItemS.Text = "&Save"
        '
        'MenuItem4
        '
        Me.MenuItem4.Index = 3
        Me.MenuItem4.Text = "-"
        '
        'MenuItemE
        '
        Me.MenuItemE.Index = 4
        Me.MenuItemE.Text = "&Exit"
        '
        'PicBox1
        '
        Me.PicBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
        Me.PicBox1.Image = CType(resources.GetObject("PicBox1.Image"), System.Drawing.Image)
        Me.PicBox1.Location = New System.Drawing.Point(8, 24)
        Me.PicBox1.Name = "PicBox1"
        Me.PicBox1.Size = New System.Drawing.Size(256, 264)
        Me.PicBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
        Me.PicBox1.TabIndex = 0
        Me.PicBox1.TabStop = False
        '
        'PicBox2
        '
        Me.PicBox2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
        Me.PicBox2.Location = New System.Drawing.Point(304, 24)
        Me.PicBox2.Name = "PicBox2"
        Me.PicBox2.Size = New System.Drawing.Size(224, 264)
        Me.PicBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
        Me.PicBox2.TabIndex = 1
        Me.PicBox2.TabStop = False
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(552, 305)
        Me.Controls.Add(Me.PicBox2)
        Me.Controls.Add(Me.PicBox1)
        Me.Menu = Me.MainMenu1
        Me.Name = "Form1"
        Me.Text = "浮雕"
        Me.ResumeLayout(False)

    End Sub

#End Region
    Private Structure rgbp
        Dim r As Integer
        Dim g As Integer
        Dim b As Integer
    End Structure

    Private Sub MenuItemO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemO.Click
        Dim opendia As OpenFileDialog
        opendia = New OpenFileDialog
        opendia.ShowDialog()
        Dim newbitmap As Bitmap
        Try
            Me.PicBox1.Image = New Bitmap(opendia.FileName)
            Me.PicBox2.Image = New Bitmap(opendia.FileName)
        Catch
            Me.PicBox1.Image = New Bitmap("沸点.jpg")
            Me.PicBox2.Image = New Bitmap("沸点.jpg")
        End Try
    End Sub


    Private Sub MenuItemS_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MenuItemS.Click
        Dim savedia As SaveFileDialog
        savedia = New SaveFileDialog
        savedia.ShowDialog()
        Dim tempfile = savedia.FileName
        Dim savebitmap As Bitmap
        savebitmap = PicBox2.Image
        savebitmap.Save(tempfile, ImageFormat.Bmp)
    End Sub

    Private Sub getrgbp()
        Dim tempcolor As Color
        Dim tempbitmap As Bitmap = Me.PicBox2.Image
        x = tempbitmap.Width
        y = tempbitmap.Height

        For i = 0 To x - 1 Step 1
            For j = 0 To y - 1 Step 1
                tempcolor = tempbitmap.GetPixel(i, j)

                rgbpoint(i, j).r = tempcolor.R
                rgbpoint(i, j).g = tempcolor.G
                rgbpoint(i, j).b = tempcolor.B
            Next
        Next
    End Sub

    Private Sub MenuItemEm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemEm.Click
        Dim temprgb As rgbp
        Dim newbitmap As Bitmap
        Dim tempcolor As Color
        newbitmap = Me.PicBox2.Image.Clone

        Call getrgbp()
        For i = 1 To x - 1 Step 1
            For j = 1 To y - 1 Step 1
                temprgb.r = Abs(rgbpoint(i, j).r - rgbpoint(i + 1, j + 1).r + 128)
                temprgb.g = Abs(rgbpoint(i, j).g - rgbpoint(i + 1, j + 1).g + 128)
                temprgb.b = Abs(rgbpoint(i, j).b - rgbpoint(i + 1, j + 1).b + 128)
                If temprgb.r > 255 Then
                    temprgb.r = 255
                ElseIf temprgb.r < 0 Then
                    temprgb.r = 0
                End If

                If temprgb.g > 255 Then
                    temprgb.g = 255
                ElseIf temprgb.g < 0 Then
                    temprgb.g = 0
                End If
                If temprgb.b > 255 Then
                    temprgb.b = 255
                ElseIf temprgb.b < 0 Then
                    temprgb.b = 0
                End If
                newbitmap.SetPixel(i, j, _
                Color.FromArgb(temprgb.r, temprgb.g, temprgb.b))
            Next
        Next
        PicBox2.Image = newbitmap
    End Sub

    Private Sub MenuItemE_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItemE.Click
        Me.Close()
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.PicBox2.Image = Me.PicBox1.Image.Clone
    End Sub

    Private Sub PicBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PicBox1.Click

    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -