本篇文章给大家带来的内容是关于c# 如何生成自定义图片?c# 生成自定义图片方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
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();}}
}}制作网络下载的略缩图/// /// 制作远程缩略图 /// /// 图片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();}}以上就是对c# 如何生成自定义图片?c# 生成自定义图片方法的全部介绍,感谢大家对脚本之家的支持。
您可能感兴趣的文章:C#(.net)水印图片的生成完整实例asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码实例c# .net 生成图片验证码的代码C#动态生成PictureBox并指定图片的方法C#生成条形码图片的简单方法c#生成图片缩略图的类(2种实现思路) c#多图片上传并生成缩略图的实例代码C#实现的pdf生成图片文字水印类实例C#实现在底图上动态生成文字和图片