c#图片旋转,保存图片的时候一定要选择图片保存的格式
来源:互联网 发布:中国出口印度的数据 编辑:程序博客网 时间:2024/06/05 00:26
System.Drawing.Image img = null; img=RotateImage(System.Drawing.Image.FromStream(postedFile.InputStream));
int Width = img.Width;
int Height = img.Height;
int Height = img.Height;
//设置文件名
fileNewName = DateTime.Now.ToString("yyyyMMddHHmmssff") + "_" + System.IO.Path.GetFileName(files[0].FileName);
//保存文件
img.Save(Server.MapPath("~/sunshineupload/" + Utility.UserId + "/thumbnail/" + fileNewName), ImageFormat.Jpeg);//保存的时候必须添加图片格式,不然图片会很大;
/// 根据图片exif调整方向
/// </summary>
/// <param name="sm"></param>
/// <returns></returns>
public Image RotateImage(Image tmpbitmap)
{
try
{
var exif = tmpbitmap.PropertyItems;
byte orien = 0;
var item = exif.Where(m => m.Id == 274).ToArray();
if (item.Length > 0)
orien = item[0].Value[0];
switch (orien)
{
case 2:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);//horizontal flip
break;
case 3:
tmpbitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);//right-top
break;
case 4:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);//vertical flip
break;
case 5:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipX);
break;
case 6:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);//right-top
break;
case 7:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipX);
break;
case 8:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);//left-bottom
break;
default:
break;
}
Bitmap bitmap = new Bitmap(tmpbitmap);
tmpbitmap.Dispose();
return (Image)bitmap;
}
catch (Exception E)
{
Utility.WriteFileLog("UploadImageMethod" + E.Message, "UploadImages.txt");
return tmpbitmap;
}
}
fileNewName = DateTime.Now.ToString("yyyyMMddHHmmssff") + "_" + System.IO.Path.GetFileName(files[0].FileName);
//保存文件
img.Save(Server.MapPath("~/sunshineupload/" + Utility.UserId + "/thumbnail/" + fileNewName), ImageFormat.Jpeg);//保存的时候必须添加图片格式,不然图片会很大;
/// 根据图片exif调整方向
/// </summary>
/// <param name="sm"></param>
/// <returns></returns>
public Image RotateImage(Image tmpbitmap)
{
try
{
var exif = tmpbitmap.PropertyItems;
byte orien = 0;
var item = exif.Where(m => m.Id == 274).ToArray();
if (item.Length > 0)
orien = item[0].Value[0];
switch (orien)
{
case 2:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);//horizontal flip
break;
case 3:
tmpbitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);//right-top
break;
case 4:
tmpbitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);//vertical flip
break;
case 5:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipX);
break;
case 6:
tmpbitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);//right-top
break;
case 7:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipX);
break;
case 8:
tmpbitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);//left-bottom
break;
default:
break;
}
Bitmap bitmap = new Bitmap(tmpbitmap);
tmpbitmap.Dispose();
return (Image)bitmap;
}
catch (Exception E)
{
Utility.WriteFileLog("UploadImageMethod" + E.Message, "UploadImages.txt");
return tmpbitmap;
}
}
阅读全文
0 0
- c#图片旋转,保存图片的时候一定要选择图片保存的格式
- 图片保存格式的选择
- 图片的保存格式
- 旋转图片并保存
- OpenCV中不同格式图片的保存
- 图片的保存
- 图片的保存
- 图片的保存
- 保存UIImageView的图片
- 保存下载的图片
- 保存图片的代码
- 保存图片的方法
- PHP保存base64格式的图片内容为图片文件
- psd格式图片保存自己需要的png图片
- C#保存上传来的图片
- 用C#保存IOS发送的图片
- C# 远程保存图片 图片远程保存
- C#上传图片返回要保存的图片名
- 银行家算法C,Java实现
- Java 内存模型 JMM 浅析
- 面向对象--单例设计模式(2)
- eigen使用
- 基于ormlite框架SQLite数据库的使用
- c#图片旋转,保存图片的时候一定要选择图片保存的格式
- 配置OpenGL开发环境(vs2015)
- javascript 高级系列之闭包(closure)
- 知识积累 jpa关键字
- 6-12 二叉搜索树的操作集(30 point(s))
- JavaWeb编码问题
- nodeJS ——nodeJS基础知识思维导读
- CG绘画基础教程之素描光影关系
- 斯坦福机器学习笔记_1