手机
当前位置:查字典教程网 >编程开发 >C#教程 >C# 图片剪切与缩小的实例
C# 图片剪切与缩小的实例
摘要:复制代码代码如下:publicvoidCutToF(Streamstream){ImageinitImage=Image.FromStrea...

复制代码 代码如下:

public void CutToF(Stream stream)

{

Image initImage = Image.FromStream(stream, true);

if (initImage.Width <= 480 && initImage.Height <= 480)

{

initImage.Save("D://test.jpg", ImageFormat.Jpeg);

}

else

{

int initWidth = initImage.Width;

int initHeight = initImage.Height;

if (initWidth != initHeight)

{

Image pickedImage = null;

Graphics pickedG = null;

if (initWidth > initHeight)

{

pickedImage = new Bitmap(initHeight, initHeight);

pickedG = Graphics.FromImage(pickedImage);

pickedG.InterpolationMode = InterpolationMode.HighQualityBicubic;

pickedG.SmoothingMode = SmoothingMode.HighQuality;

Rectangle fromR = new Rectangle(0, 0, initHeight, initHeight);//(initWidth - initHeight) / 2

Rectangle toR = new Rectangle(0, 0, initHeight, initHeight);

pickedG.DrawImage(initImage, fromR);

pickedImage.Save("D://jpg//test2.jpg");

initWidth = initHeight;

}

initImage = (Image)pickedImage.Clone();

pickedG.Dispose();

pickedImage.Dispose();

initImage.Save("D://jpg//test1.jpg");

}

Image resultImage = new Bitmap(150, 150);

Graphics resultG = Graphics.FromImage(resultImage);

resultG.InterpolationMode = InterpolationMode.HighQualityBicubic;

resultG.SmoothingMode = SmoothingMode.HighQuality;

resultG.Clear(Color.White);

resultG.DrawImage(initImage, new Rectangle(0, 0, 100, 100), new Rectangle(0, 0, initWidth, initHeight), GraphicsUnit.Pixel);

ImageCodecInfo[] icis = ImageCodecInfo.GetImageEncoders();

ImageCodecInfo ici = null;

foreach (ImageCodecInfo item in icis)

{

if (item.MimeType == "image/jpeg" || item.MimeType == "image/bmp" || item.MimeType == "image/png" || item.MimeType =="image/gif")

{

ici = item;

}

}

EncoderParameters ep = new System.Drawing.Imaging.EncoderParameters(1);

ep.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)100);

resultImage.Save("D://jpg//test.jpg", ici, ep);

ep.Dispose();

resultG.Dispose();

resultImage.Dispose();

initImage.Dispose();

}

}

【C# 图片剪切与缩小的实例】相关文章:

C#枚举数值与名称的转换实例分享

c# dataTable 合并两个列到一个新列中的简单实例

C#图片压缩的实现方法

C#制作鹰眼的详细全过程(带注释)实例代码

C# 实现简单打印的实例代码

C# 将字节流转换为图片的实例方法

解析c#显示友好时间的实现代码

浅解关于C#多线程的介绍

C# 观察者模式实例介绍

c#一个定时重启的小程序实现代码第1/2页

精品推荐
分类导航