基本信息
源码名称:C# 遮罩贴图 示例源码
源码大小:0.05M
文件格式:.zip
开发语言:C#
更新时间:2018-05-16
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元×
微信扫码支付:3 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#region [ References ] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.Text; using System.Windows.Forms; #endregion namespace SampleProject { public partial class MainForm : Form { #region [ Fields ] private string FileName; private Bitmap srcBitmap; private int ZoomFactor = 1; private int ZoomScale = 1; #endregion #region [ Constructor ] public MainForm() { InitializeComponent(); } #endregion #region [ Functions ] private void ZoomSrcImage() { SrcPic.SizeMode = PictureBoxSizeMode.StretchImage; SrcPic.Width = (SrcPic.Image.Width * ZoomFactor); SrcPic.Height = (SrcPic.Image.Height * ZoomFactor); } private void ZoomDstImage() { DstPic.SizeMode = PictureBoxSizeMode.StretchImage; DstPic.Width = (DstPic.Image.Width * ZoomScale); DstPic.Height = (DstPic.Image.Height * ZoomScale); } #endregion #region [ Events ] /// <summary> /// This event used to show Input Image. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void SelectInputFile(object sender, EventArgs e) { OpenFileDialog selectImage = new OpenFileDialog(); selectImage.Filter = "JPEG files (*.jpg)|*.jpg"; selectImage.Title = "Save Output File"; if (selectImage.ShowDialog() == DialogResult.OK) { FileName = selectImage.FileName; try { srcBitmap = new Bitmap(FileName); SrcPic.Image = (Bitmap) srcBitmap; ImageDilation.Enabled = true; Masking.Enabled = true; } catch { MessageBox.Show("Can not open Image.","Wrong Format Image", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } /// <summary> /// This event used to save output Image. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void SaveFile(object sender, EventArgs e) { SaveFileDialog saveFile = new SaveFileDialog(); saveFile.Filter = "JPEG files (*.jpg)|*.jpg"; saveFile.Title = "Save Output File"; if (saveFile.ShowDialog() == DialogResult.OK) { try { DstPic.Image.Save(saveFile.FileName, ImageFormat.Jpeg); } catch { MessageBox.Show("Can not save a Image.", "Wrong Format Image", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } /// <summary> /// This event used to call dilation algorithm. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void DilateImage(object sender, EventArgs e) { ImageProcessingLib process = new ImageProcessingLib(); try { DstPic.Image = (Image)process.Dilate((Bitmap)srcBitmap.Clone()).Clone() ; SaveImage.Enabled = true; } catch { MessageBox.Show("Can not Dilate a Image.", "Wrong Format Image", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { process.Dispose(); } } /// <summary> /// This event used to call masking algorithm. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void MaskImage(object sender, EventArgs e) { OpenFileDialog maskImage = new OpenFileDialog(); if (maskImage.ShowDialog() == DialogResult.OK) { ImageProcessingLib process = new ImageProcessingLib(); Bitmap _temp = new Bitmap(maskImage.FileName); string Message = ""; try { DstPic.Image = (Image)process.MaskImagePtr((Bitmap)srcBitmap.Clone(), _temp,out Message).Clone(); if (Message != "") { MessageBox.Show("Can not Mask a Image.", "Wrong Format Image", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } SaveImage.Enabled = true; } catch { MessageBox.Show("Can not Mask a Image.", "Wrong Format Image", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { process.Dispose(); _temp.Dispose(); } } } /// <summary> /// This event used to zoom Src Image. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void ZoomIn_Click(object sender, EventArgs e) { if (ZoomFactor <= 3) { ZoomFactor ; ZoomSrcImage(); } } /// <summary> /// This event used to zoom Src Image. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void ZoomOut_Click(object sender, EventArgs e) { if (ZoomFactor > 1) { ZoomFactor--; ZoomSrcImage(); } } /// <summary> /// This event used to resize panel controls. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void MainForm_Resize(object sender, EventArgs e) { SrcPanel.Width = (int)(ClientRectangle.Width / 2) - 2; DstPanel.Width = (int)(ClientRectangle.Width / 2) - 2; DstPanel.Left = (int)(ClientRectangle.Width / 2); SrcPanel.Height = (int)(ClientRectangle.Height) - 30; DstPanel.Height = (int)(ClientRectangle.Height) - 30; } /// <summary> /// This event used to Close application. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void CloseApplication(object sender, EventArgs e) { if(srcBitmap !=null) srcBitmap.Dispose(); this.Dispose(true); } /// <summary> /// This event used to zoom destination Image. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void ZoomInDst_Click(object sender, EventArgs e) { if (ZoomScale <= 3) { ZoomScale ; ZoomDstImage(); } } /// <summary> /// This event used to zoom destination Image. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void ZoomOutDst_Click(object sender, EventArgs e) { if (ZoomScale > 1) { ZoomScale--; ZoomDstImage(); } } #endregion } }