C# 图片剪切与缩小的实例
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#实现对图片文件的压缩、裁剪操作实例
- C# 将字节流转换为图片的实例方法
- C# 实现图片的放大缩小和平移
- C# 图片放大、缩小
- C# 手动/自动保存图片的实例代码
- C# 图片截取、放大、缩小与保存
- [引]C# WinForm DirectShow视频采集及图片抓取实例DxSnap
- [JS]JS控制图片超过宽度自动缩小图片等比例缩放源代码实例
- C#中Bitmap类实现对图像操作的一些方法(Asp.net(C#)-放大缩小图片尺寸)
- .C# 拷贝一个图片到指定文件夹下(IO文件操作实例)
- highslide使用实例,点击图片放大效果,再次点击缩小
- [引]C# WinForm DirectShow视频采集及图片抓取实例DxSnap
- 实例讲解如何利用jQuery设置图片居中放大或者缩小
- C#向PPT文档插入图片以及导出图片的实例
- C#读取数据库图片显示、缩小、更新
- .net(C#)-放大缩小图片尺寸
- js运动实例-多图片从中心放大缩小
- jquery实现图片放大,缩小,翻转,旋转小实例