登陆wordpress,邯郸网站建设优化,商业空间设计方案,搜索网站程序版权声明#xff1a;本文为博主原创文章#xff0c;转载请在显著位置标明本文出处以及作者网名#xff0c;未经作者允许不得用于商业目的。 下载相关代码#xff1a;【免费】《自己做个国庆75周年头像生成器》代码资源-CSDN文库
又是一年国庆节#xff0c;今年使用国旗做… 版权声明本文为博主原创文章转载请在显著位置标明本文出处以及作者网名未经作者允许不得用于商业目的。 下载相关代码【免费】《自己做个国庆75周年头像生成器》代码资源-CSDN文库
又是一年国庆节今年使用国旗做头像的朋友不少律师也说了不违法。 所以做这个程序也没关系吧。 程序设计界面
准备四张透明png图片到程序目录下的Img目录分别用1-4.png命名。
主要代码就写在下面了
Public Class Form1Dim baseImg As BitmapDim backimg As BitmapDim g As GraphicsDim blChooseImg As BooleanPrivate Sub btnChoosePic_Click(sender As Object, e As EventArgs) Handles btnChoosePic.ClickDim picname As StringIf ofdPic.ShowDialog DialogResult.Cancel ThenExit SubEnd Ifpicname ofdPic.FileNameTrybackimg New Bitmap(picname)blChooseImg TrueCall drawImg(cbMask.SelectedIndex)Catch ex As Exceptionbackimg NothingEnd TryEnd SubPrivate Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadblChooseImg FalsebaseImg New Bitmap(pbCombine.Width, pbCombine.Height)g Graphics.FromImage(baseImg)cbMask.SelectedIndex 0AddHandler cbMask.SelectedIndexChanged, AddressOf cbMaskSelectedIndexChangedEnd SubPrivate Sub cbMaskSelectedIndexChanged(sender As Object, e As EventArgs)Call drawImg(cbMask.SelectedIndex)End SubPrivate Sub drawImg(ByVal maskid As Integer)If blChooseImg False Then Exit Subg.DrawImage(backimg, New Rectangle(0, 0, pbCombine.Width, pbCombine.Height), New Rectangle(0, 0, backimg.Width, backimg.Height), GraphicsUnit.Pixel)Dim maskName As StringmaskName Application.StartupPath \img\ (maskid 1).ToString .pngDim maskImg As New Bitmap(maskName)g.DrawImage(maskImg, New Rectangle(0, 0, pbCombine.Width, pbCombine.Height), New Rectangle(0, 0, maskImg.Width, maskImg.Height), GraphicsUnit.Pixel)pbCombine.Image baseImgEnd SubPrivate Sub pbCombine_MouseDown(sender As Object, e As MouseEventArgs) Handles pbCombine.MouseDownIf e.Button MouseButtons.Right ThenIf blChooseImg True ThencmsSave.Show(sender, e.Location)End IfEnd IfEnd SubPrivate Sub tsmSaveImg_Click(sender As Object, e As EventArgs) Handles tsmSaveImg.ClickDim savePath As StringIf sfdPic.ShowDialog DialogResult.Cancel ThenExit SubEnd IfsavePath sfdPic.FileNameTrybaseImg.Save(savePath)MessageBox.Show(保存完毕)Catch ex As ExceptionMessageBox.Show(ex.Message)End TryEnd SubPrivate Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosingg.Dispose()baseImg.Dispose()End Sub
End Class代码太简单不一一讲解了。 注意一个地方窗体载入的时候为什么要 AddHandler cbMask.SelectedIndexChanged, AddressOf cbMaskSelectedIndexChanged 而不是直接使用 cbMask.SelectedIndexChanged 这个事件呢 Private Sub cbMask_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbMask.SelectedIndexChanged End Sub
请读者自己想一想。 运行时是这样滴 简简单单的代码我们不仅可以给自己做也可以给朋友做头像了。
由于.net平台下C#和vb.NET很相似本文也可以为C#爱好者提供参考。
学习更多vb.net知识请参看vb.net 教程 目录