- using System;
- using System.Drawing;
- using System.Drawing.Drawing2D;
- using System.Drawing.Imaging;
- namespace BLL
- {
- public class ImageUtil
- {
- public static void addWatermarkImage(Graphics picture, string WaterMarkPicPath, string _watermarkPosition, int _width, int _height)
- {
- Image image = new Bitmap(WaterMarkPicPath);
- int x = 0;
- int y = 0;
- int width = image.Width;
- int height = image.Height;
- string str = _watermarkPosition;
- if (str != null)
- {
- if (!(str == "WM_TOP_LEFT"))
- {
- if (str == "WM_TOP_RIGHT")
- {
- x = (_width - width) - 10;
- y = 10;
- }
- else if (str == "WM_BOTTOM_RIGHT")
- {
- x = (_width - width) - 10;
- y = (_height - height) - 10;
- }
- else if (str == "WM_BOTTOM_LEFT")
- {
- x = 10;
- y = (_height - height) - 10;
- }
- else if (str == "WM_BOTTOM_MIDDLE")
- {
- x = (_width / 2) - (width / 2);
- y = (_height - height) - 10;
- }
- else if (str == "WM_TOP_MIDDLE")
- {
- x = (_width / 2) - (width / 2);
- y = 10;
- }
- }
- else
- {
- x = 10;
- y = 10;
- }
- }
- picture.DrawImage(image, x, y, width, height);
- image.Dispose();
- }
- public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
- {
- string str;
- Image image = Image.FromFile(originalImagePath);
- int num = width;
- int num2 = height;
- int x = 0;
- int y = 0;
- int num5 = image.Width;
- int num6 = image.Height;
- if (((str = mode) != null) && (str != "HW"))
- {
- if (!(str == "W"))
- {
- if (str == "H")
- {
- num = (image.Width * height) / image.Height;
- }
- else if (str == "Cut")
- {
- if ((((double)image.Width) / ((double)image.Height)) > (((double)num) / ((double)num2)))
- {
- num6 = image.Height;
- num5 = (image.Height * num) / num2;
- y = 0;
- x = (image.Width - num5) / 2;
- }
- else
- {
- num5 = image.Width;
- num6 = (image.Width * height) / num;
- x = 0;
- y = (image.Height - num6) / 2;
- }
- }
- }
- else
- {
- num2 = (image.Height * width) / image.Width;
- }
- }
- Image image2 = new Bitmap(num, num2);
- Graphics graphics = Graphics.FromImage(image2);
- graphics.InterpolationMode = InterpolationMode.High;
- graphics.SmoothingMode = SmoothingMode.HighQuality;
- graphics.Clear(Color.Transparent);
- graphics.DrawImage(image, new Rectangle(0, 0, num, num2), new Rectangle(x, y, num5, num6), GraphicsUnit.Pixel);
- try
- {
- image2.Save(thumbnailPath, ImageFormat.Jpeg);
- }
- catch (Exception exception)
- {
- throw exception;
- }
- finally
- {
- image.Dispose();
- image2.Dispose();
- graphics.Dispose();
- }
- }
- }
- }
asp.net生成缩略图,添加图片水印的类
最新推荐文章于 2017-11-20 17:09:00 发布