一个C#写的图片处理基础类,功能包括获取或设置要修改的图像路径、获取或设置在画的图片路径(水印图片)、获取或设置水印在修改图片中的右边距、获取或设置水印在修改图片中距底部的高度、获取或设置要绘制水印的透明度,注意是原来图片透明度的百分比、获取或设置要输出图像的路径、绘制水印、绘制图形坐标、绘制阴影图像、保存文件等功能:dZMHTML5中文学习网 - HTML5先行者学习网
view sourceprint?001using System;dZMHTML5中文学习网 - HTML5先行者学习网
002using System.Collections.Generic;dZMHTML5中文学习网 - HTML5先行者学习网
003using System.Linq;dZMHTML5中文学习网 - HTML5先行者学习网
004using System.Text;dZMHTML5中文学习网 - HTML5先行者学习网
005using System.IO;dZMHTML5中文学习网 - HTML5先行者学习网
006using System.Drawing;dZMHTML5中文学习网 - HTML5先行者学习网
007using System.Drawing.Drawing2D;dZMHTML5中文学习网 - HTML5先行者学习网
008using System.Drawing.Imaging;dZMHTML5中文学习网 - HTML5先行者学习网
009namespace CLB.Utility.ToolsdZMHTML5中文学习网 - HTML5先行者学习网
010{dZMHTML5中文学习网 - HTML5先行者学习网
011 public class ImageModificationdZMHTML5中文学习网 - HTML5先行者学习网
012 {dZMHTML5中文学习网 - HTML5先行者学习网
013 #region "member fields"dZMHTML5中文学习网 - HTML5先行者学习网
014 private string modifyImagePath = null;dZMHTML5中文学习网 - HTML5先行者学习网
015 private string drawedImagePath = null;dZMHTML5中文学习网 - HTML5先行者学习网
016 private int rightSpace;dZMHTML5中文学习网 - HTML5先行者学习网
017 private int bottoamSpace;dZMHTML5中文学习网 - HTML5先行者学习网
018 private int lucencyPercent = 70;dZMHTML5中文学习网 - HTML5先行者学习网
019 private string outPath = null;dZMHTML5中文学习网 - HTML5先行者学习网
020 #endregiondZMHTML5中文学习网 - HTML5先行者学习网
021 public ImageModification()dZMHTML5中文学习网 - HTML5先行者学习网
022 {dZMHTML5中文学习网 - HTML5先行者学习网
023 }dZMHTML5中文学习网 - HTML5先行者学习网
024 #region "propertys"dZMHTML5中文学习网 - HTML5先行者学习网
025 ///dZMHTML5中文学习网 - HTML5先行者学习网
026 /// 获取或设置要修改的图像路径dZMHTML5中文学习网 - HTML5先行者学习网
027 ///dZMHTML5中文学习网 - HTML5先行者学习网
028 public string ModifyImagePathdZMHTML5中文学习网 - HTML5先行者学习网
029 {dZMHTML5中文学习网 - HTML5先行者学习网
030 get { return this.modifyImagePath; }dZMHTML5中文学习网 - HTML5先行者学习网
031 set { this.modifyImagePath = value; }dZMHTML5中文学习网 - HTML5先行者学习网
032 }dZMHTML5中文学习网 - HTML5先行者学习网
033 ///dZMHTML5中文学习网 - HTML5先行者学习网
034 /// 获取或设置在画的图片路径(水印图片)dZMHTML5中文学习网 - HTML5先行者学习网
035 ///dZMHTML5中文学习网 - HTML5先行者学习网
036 public string DrawedImagePathdZMHTML5中文学习网 - HTML5先行者学习网
037 {dZMHTML5中文学习网 - HTML5先行者学习网
038 get { return this.drawedImagePath; }dZMHTML5中文学习网 - HTML5先行者学习网
039 set { this.drawedImagePath = value; }dZMHTML5中文学习网 - HTML5先行者学习网
040 }dZMHTML5中文学习网 - HTML5先行者学习网
041 ///dZMHTML5中文学习网 - HTML5先行者学习网
042 /// 获取或设置水印在修改图片中的右边距dZMHTML5中文学习网 - HTML5先行者学习网
043 ///dZMHTML5中文学习网 - HTML5先行者学习网
044 public int RightSpacedZMHTML5中文学习网 - HTML5先行者学习网
045 {dZMHTML5中文学习网 - HTML5先行者学习网
046 get { return this.rightSpace; }dZMHTML5中文学习网 - HTML5先行者学习网
047 set { this.rightSpace = value; }dZMHTML5中文学习网 - HTML5先行者学习网
048 }dZMHTML5中文学习网 - HTML5先行者学习网
049 //获取或设置水印在修改图片中距底部的高度dZMHTML5中文学习网 - HTML5先行者学习网
050 public int BottoamSpacedZMHTML5中文学习网 - HTML5先行者学习网
051 {dZMHTML5中文学习网 - HTML5先行者学习网
052 get { return this.bottoamSpace; }dZMHTML5中文学习网 - HTML5先行者学习网
053 set { this.bottoamSpace = value; }dZMHTML5中文学习网 - HTML5先行者学习网
054 }dZMHTML5中文学习网 - HTML5先行者学习网
055 ///dZMHTML5中文学习网 - HTML5先行者学习网
056 /// 获取或设置要绘制水印的透明度,注意是原来图片透明度的百分比dZMHTML5中文学习网 - HTML5先行者学习网
057 ///dZMHTML5中文学习网 - HTML5先行者学习网
058 public int LucencyPercentdZMHTML5中文学习网 - HTML5先行者学习网
059 {dZMHTML5中文学习网 - HTML5先行者学习网
060 get { return this.lucencyPercent; }dZMHTML5中文学习网 - HTML5先行者学习网
061 setdZMHTML5中文学习网 - HTML5先行者学习网
062 {dZMHTML5中文学习网 - HTML5先行者学习网
063 if (value >= 0 && value <= 100)dZMHTML5中文学习网 - HTML5先行者学习网
064 this.lucencyPercent = value;dZMHTML5中文学习网 - HTML5先行者学习网
065 }dZMHTML5中文学习网 - HTML5先行者学习网
066 }dZMHTML5中文学习网 - HTML5先行者学习网
067 ///dZMHTML5中文学习网 - HTML5先行者学习网
068 /// 获取或设置要输出图像的路径dZMHTML5中文学习网 - HTML5先行者学习网
069 ///dZMHTML5中文学习网 - HTML5先行者学习网
070 public string OutPathdZMHTML5中文学习网 - HTML5先行者学习网
071 {dZMHTML5中文学习网 - HTML5先行者学习网
072 get { return this.outPath; }dZMHTML5中文学习网 - HTML5先行者学习网
073 set { this.outPath = value; }dZMHTML5中文学习网 - HTML5先行者学习网
074 }dZMHTML5中文学习网 - HTML5先行者学习网
075 #endregiondZMHTML5中文学习网 - HTML5先行者学习网
076 #region "methods"dZMHTML5中文学习网 - HTML5先行者学习网
077 ///dZMHTML5中文学习网 - HTML5先行者学习网
078 /// 开始绘制水印dZMHTML5中文学习网 - HTML5先行者学习网
079 ///dZMHTML5中文学习网 - HTML5先行者学习网
080 public void DrawImage()dZMHTML5中文学习网 - HTML5先行者学习网
081 {dZMHTML5中文学习网 - HTML5先行者学习网
082 Image modifyImage = null;dZMHTML5中文学习网 - HTML5先行者学习网
083 Image drawedImage = null;dZMHTML5中文学习网 - HTML5先行者学习网
084 Graphics g = null;dZMHTML5中文学习网 - HTML5先行者学习网
085 trydZMHTML5中文学习网 - HTML5先行者学习网
086 {dZMHTML5中文学习网 - HTML5先行者学习网
087 //建立图形对象dZMHTML5中文学习网 - HTML5先行者学习网
088 modifyImage = Image.FromFile(this.ModifyImagePath);dZMHTML5中文学习网 - HTML5先行者学习网
089 drawedImage = Image.FromFile(this.DrawedImagePath);dZMHTML5中文学习网 - HTML5先行者学习网
090 g = Graphics.FromImage(modifyImage);dZMHTML5中文学习网 - HTML5先行者学习网
091 //获取要绘制图形坐标dZMHTML5中文学习网 - HTML5先行者学习网
092 int x = modifyImage.Width - this.rightSpace;dZMHTML5中文学习网 - HTML5先行者学习网
093 int y = modifyImage.Height - this.BottoamSpace;dZMHTML5中文学习网 - HTML5先行者学习网
094 //设置颜色矩阵dZMHTML5中文学习网 - HTML5先行者学习网
095 float[][] matrixItems ={dZMHTML5中文学习网 - HTML5先行者学习网
096 new float[] {1, 0, 0, 0, 0},dZMHTML5中文学习网 - HTML5先行者学习网
097 new float[] {0, 1, 0, 0, 0},dZMHTML5中文学习网 - HTML5先行者学习网
098 new float[] {0, 0, 1, 0, 0},dZMHTML5中文学习网 - HTML5先行者学习网
099 new float[] {0, 0, 0, (float)this.LucencyPercent/100f, 0},dZMHTML5中文学习网 - HTML5先行者学习网
100 new float[] {0, 0, 0, 0, 1}};dZMHTML5中文学习网 - HTML5先行者学习网
101 ColorMatrix colorMatrix = new ColorMatrix(matrixItems);dZMHTML5中文学习网 - HTML5先行者学习网
102 ImageAttributes imgAttr = new ImageAttributes();dZMHTML5中文学习网 - HTML5先行者学习网
103 imgAttr.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);dZMHTML5中文学习网 - HTML5先行者学习网
104 //绘制阴影图像dZMHTML5中文学习网 - HTML5先行者学习网
105 g.DrawImage(dZMHTML5中文学习网 - HTML5先行者学习网
106 drawedImage,dZMHTML5中文学习网 - HTML5先行者学习网
107 new Rectangle(x, y, drawedImage.Width, drawedImage.Height),dZMHTML5中文学习网 - HTML5先行者学习网
108 0, 0, drawedImage.Width, drawedImage.Height,dZMHTML5中文学习网 - HTML5先行者学习网
109 GraphicsUnit.Pixel, imgAttr);dZMHTML5中文学习网 - HTML5先行者学习网
110 //保存文件dZMHTML5中文学习网 - HTML5先行者学习网
111 string[] allowImageType = { ".jpg", ".gif", ".png", ".bmp", ".tiff", ".wmf", ".ico" };dZMHTML5中文学习网 - HTML5先行者学习网
112 FileInfo file = new FileInfo(this.ModifyImagePath);dZMHTML5中文学习网 - HTML5先行者学习网
113 ImageFormat imageType = ImageFormat.Gif;dZMHTML5中文学习网 - HTML5先行者学习网
114 switch (file.Extension.ToLower())dZMHTML5中文学习网 - HTML5先行者学习网
115 {dZMHTML5中文学习网 - HTML5先行者学习网
116 case ".jpg":dZMHTML5中文学习网 - HTML5先行者学习网
117 imageType = ImageFormat.Jpeg;dZMHTML5中文学习网 - HTML5先行者学习网
118 break;dZMHTML5中文学习网 - HTML5先行者学习网
119 case ".gif":dZMHTML5中文学习网 - HTML5先行者学习网
120 imageType = ImageFormat.Gif;dZMHTML5中文学习网 - HTML5先行者学习网
121 break;dZMHTML5中文学习网 - HTML5先行者学习网
122 case ".png":dZMHTML5中文学习网 - HTML5先行者学习网
123 imageType = ImageFormat.Png;dZMHTML5中文学习网 - HTML5先行者学习网
124 break;dZMHTML5中文学习网 - HTML5先行者学习网
125 case ".bmp":dZMHTML5中文学习网 - HTML5先行者学习网
126 imageType = ImageFormat.Bmp;dZMHTML5中文学习网 - HTML5先行者学习网
127 break;dZMHTML5中文学习网 - HTML5先行者学习网
128 case ".tif":dZMHTML5中文学习网 - HTML5先行者学习网
129 imageType = ImageFormat.Tiff;dZMHTML5中文学习网 - HTML5先行者学习网
130 break;dZMHTML5中文学习网 - HTML5先行者学习网
131 case ".wmf":dZMHTML5中文学习网 - HTML5先行者学习网
132 imageType = ImageFormat.Wmf;dZMHTML5中文学习网 - HTML5先行者学习网
133 break;dZMHTML5中文学习网 - HTML5先行者学习网
134 case ".ico":dZMHTML5中文学习网 - HTML5先行者学习网
135 imageType = ImageFormat.Icon;dZMHTML5中文学习网 - HTML5先行者学习网
136 break;dZMHTML5中文学习网 - HTML5先行者学习网
137 default:dZMHTML5中文学习网 - HTML5先行者学习网
138 break;dZMHTML5中文学习网 - HTML5先行者学习网
139 }dZMHTML5中文学习网 - HTML5先行者学习网
140 MemoryStream ms = new MemoryStream();dZMHTML5中文学习网 - HTML5先行者学习网
141 modifyImage.Save(ms, imageType);dZMHTML5中文学习网 - HTML5先行者学习网
142 byte[] imgData = ms.ToArray();dZMHTML5中文学习网 - HTML5先行者学习网
143 modifyImage.Dispose();dZMHTML5中文学习网 - HTML5先行者学习网
144 drawedImage.Dispose();dZMHTML5中文学习网 - HTML5先行者学习网
145 g.Dispose();dZMHTML5中文学习网 - HTML5先行者学习网
146 FileStream fs = null;dZMHTML5中文学习网 - HTML5先行者学习网
147 if (this.OutPath == null || this.OutPath == "")dZMHTML5中文学习网 - HTML5先行者学习网
148 {dZMHTML5中文学习网 - HTML5先行者学习网
149 File.Delete(this.ModifyImagePath);dZMHTML5中文学习网 - HTML5先行者学习网
150 fs = new FileStream(this.ModifyImagePath, FileMode.Create, FileAccess.Write);dZMHTML5中文学习网 - HTML5先行者学习网
151 }dZMHTML5中文学习网 - HTML5先行者学习网
152 elsedZMHTML5中文学习网 - HTML5先行者学习网
153 {dZMHTML5中文学习网 - HTML5先行者学习网
154 fs = new FileStream(this.OutPath, FileMode.Create, FileAccess.Write);dZMHTML5中文学习网 - HTML5先行者学习网
155 }dZMHTML5中文学习网 - HTML5先行者学习网
156 if (fs != null)dZMHTML5中文学习网 - HTML5先行者学习网
157 {dZMHTML5中文学习网 - HTML5先行者学习网
158 fs.Write(imgData, 0, imgData.Length);dZMHTML5中文学习网 - HTML5先行者学习网
159 fs.Close();dZMHTML5中文学习网 - HTML5先行者学习网
160 }dZMHTML5中文学习网 - HTML5先行者学习网
161 }dZMHTML5中文学习网 - HTML5先行者学习网
162 finallydZMHTML5中文学习网 - HTML5先行者学习网
163 {dZMHTML5中文学习网 - HTML5先行者学习网
164 trydZMHTML5中文学习网 - HTML5先行者学习网
165 {dZMHTML5中文学习网 - HTML5先行者学习网
166 drawedImage.Dispose();dZMHTML5中文学习网 - HTML5先行者学习网
167 modifyImage.Dispose();dZMHTML5中文学习网 - HTML5先行者学习网
168 g.Dispose();dZMHTML5中文学习网 - HTML5先行者学习网
169 }dZMHTML5中文学习网 - HTML5先行者学习网
170 catch { ;}dZMHTML5中文学习网 - HTML5先行者学习网
171 }dZMHTML5中文学习网 - HTML5先行者学习网
172 }dZMHTML5中文学习网 - HTML5先行者学习网
173 #endregiondZMHTML5中文学习网 - HTML5先行者学习网
174 }dZMHTML5中文学习网 - HTML5先行者学习网
175}dZMHTML5中文学习网 - HTML5先行者学习网