How to generate custom images in c#? c# Generate custom picture method

云罗郡主
Release: 2018-10-15 14:08:15
forward
3343 people have browsed it

The content of this article is about how to generate custom images in c#? The method of generating custom pictures in c# has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

using System.Drawing;using System.IO;using System.Drawing.Imaging;using System;namespace treads { ///  /// 生成略缩图 ///  public class Class2 { private Image srcImage; private string srcFileName= @"X";//获取图片的路径 private string srcFileName1 = @"x";//要保持图片的新路径 ///  /// 回调 ///  ///  public bool ThumbnailCallback() { return false; } ///  /// 保存缩略图 ///  ///  ///  public void SaveThumbnailImage(int Width, int Height) { switch (Path.GetExtension(srcFileName).ToLower()) { case ".png": SaveImage(Width, Height, ImageFormat.Png); break; case ".gif": SaveImage(Width, Height, ImageFormat.Gif); break; default: SaveImage(Width, Height, ImageFormat.Jpeg); break; } } ///  /// 生成缩略图并保存 ///  /// 缩略图的宽度 /// 缩略图的高度 /// 保存的图像格式 /// 缩略图的Image对象 public void SaveImage(int Width, int Height, ImageFormat imgformat) { srcImage = Image.FromFile(srcFileName); if (imgformat != ImageFormat.Gif && (srcImage.Width > Width) || (srcImage.Height > Height)) { Image img; Image.GetThumbnailImageAbort callb = new Image.GetThumbnailImageAbort(ThumbnailCallback); img = srcImage.GetThumbnailImage(Width, Height, callb, IntPtr.Zero); srcImage.Dispose(); img.Save(srcFileName1, imgformat); img.Dispose(); } } } }
Copy after login

Making thumbnails for network downloads

///  /// 制作远程缩略图 ///  /// 图片URL /// 新图路径 /// 最大宽度 /// 最大高度 public static void MakeRemoteThumbnailImage(string url, string newFileName, int maxWidth, int maxHeight) { Stream stream = GetRemoteImage(url); if (stream == null) return; Image original = Image.FromStream(stream); stream.Close(); MakeThumbnailImage(original, newFileName, maxWidth, maxHeight); } ///  /// 获取图片流 ///  /// 图片URL ///  private static Stream GetRemoteImage(string url) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = "GET"; request.ContentLength = 0; request.Timeout = 20000; HttpWebResponse response = null; try { response = (HttpWebResponse)request.GetResponse(); return response.GetResponseStream(); } catch { return null; } } ///  /// 裁剪图片并保存 ///  /// 源图路径(绝对路径) /// 缩略图路径(绝对路径) /// 缩略图宽度 /// 缩略图高度 /// 裁剪宽度 /// 裁剪高度 /// X轴 /// Y轴 public static bool MakeThumbnailImage(string fileName, string newFileName, int maxWidth, int maxHeight, int cropWidth, int cropHeight, int X, int Y) { byte[] imageBytes = File.ReadAllBytes(fileName); Image originalImage = Image.FromStream(new System.IO.MemoryStream(imageBytes)); Bitmap b = new Bitmap(cropWidth, cropHeight); try { using (Graphics g = Graphics.FromImage(b)) { //设置高质量插值法 g.InterpolationMode = InterpolationMode.HighQualityBicubic; //设置高质量,低速度呈现平滑程度 g.SmoothingMode = SmoothingMode.AntiAlias; g.PixelOffsetMode = PixelOffsetMode.HighQuality; //清空画布并以透明背景色填充 g.Clear(Color.Transparent); //在指定位置并且按指定大小绘制原图片的指定部分 g.DrawImage(originalImage, new Rectangle(0, 0, cropWidth, cropHeight), X, Y, cropWidth, cropHeight, GraphicsUnit.Pixel); Image displayImage = new Bitmap(b, maxWidth, maxHeight); SaveImage(displayImage, newFileName, GetCodecInfo("image/" + GetFormat(newFileName).ToString().ToLower())); return true; } } catch (System.Exception e) { throw e; } finally { originalImage.Dispose(); b.Dispose(); } }
Copy after login

The above is how to generate custom pictures in c#? A complete introduction to the method of generating custom images in c#. If you want to know more aboutC video tutorial, please pay attention to the PHP Chinese website.

The above is the detailed content of How to generate custom images in c#? c# Generate custom picture method. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!