C# 获取Image图片格式
private void button1_Click_1(object sender, EventArgs e)
{
string path = Application.StartupPath;
using (FileStream file = new FileStream(txtpath.Text, FileMode.Open))
{
Image img = Image.FromStream(file);
string format;
System.Drawing.Imaging.ImageFormat _img_format = GetImageFormat(img, out format);
if (_img_format != null)
{
img.Save(path + @"\" + Guid.NewGuid().ToString() + format, _img_format);
MessageBox.Show("ok");
}
} } /// <summary>
/// 获取Image图片格式
/// </summary>
/// <param name="file"></param>
/// <param name="format"></param>
/// <returns></returns>
private System.Drawing.Imaging.ImageFormat GetImageFormat(FileStream file, out string format)
{
byte[] sb = new byte[]; //这次读取的就是直接0-1的位置长度了.
file.Read(sb, , sb.Length);
//根据文件头判断
string strFlag = sb[].ToString() + sb[].ToString();
//察看格式类型
switch (strFlag)
{
//JPG格式
case"":
format = ".jpg";
return System.Drawing.Imaging.ImageFormat.Jpeg;
//GIF格式
case"":
format = ".gif";
return System.Drawing.Imaging.ImageFormat.Gif;
//BMP格式
case"":
format = ".bmp";
return System.Drawing.Imaging.ImageFormat.Bmp;
//PNG格式
case"":
format = ".png";
return System.Drawing.Imaging.ImageFormat.Png;
//其他格式
default:
format = string.Empty;
return null;
}
} /// <summary>
/// 获取Image图片格式
/// </summary>
/// <param name="_img"></param>
/// <param name="format"></param>
/// <returns></returns>
private System.Drawing.Imaging.ImageFormat GetImageFormat(Image _img,out string format)
{
if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
{
format = ".jpg";
return System.Drawing.Imaging.ImageFormat.Jpeg;
}
if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif))
{
format = ".gif";
return System.Drawing.Imaging.ImageFormat.Gif;
}
if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png))
{
format = ".png";
return System.Drawing.Imaging.ImageFormat.Png;
}
if (_img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp))
{
format = ".bmp";
return System.Drawing.Imaging.ImageFormat.Bmp;
}
format = string.Empty;
return null;
}
C# 获取Image图片格式的更多相关文章
- iOS获取图片格式
我们系统使用的一般文件格式有png.jpg.jpeg.GIF.TIFF 等格式: 图片是我们开发过程中最常见的东西,一般每个公司都会有自己的文件服务器,客户端人员都会从文件服务器中获取相关的图片信息: ...
- PPM图片格式及其C读写代码
PPM图像格式介绍 PPM图像格式是由Jef Poskanzer 大叔,在我出生那一年,也就是1991年所创造的,碰巧的是PPM也是天蝎座. PPM(Portable Pixmap Format)还有 ...
- android 通过uri获取bitmap图片并压缩
很多人在调用图库选择图片时会在onActivityResult中用Media.getBitmap来获取返回的图片,如下: Uri mImageCaptureUri = data.getData(); ...
- JS验证图片格式和大小并预览
用于上传图片的js验证: <%@ page language="java" contentType="text/html; charset=UTF-8"p ...
- BMP图片格式
BMP图片 BMP采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大.BMP文件的图像深度可选lbit.4bit.8bit及24bit和32bit.BMP文 ...
- 用Delphi直接获取bmp图片的像素
用Delphi直接获取bmp图片的像素,并存储显示出.(此像素主要用在LED上显示).希望高手能给出代码啊!! function getImagePixels(f: string): Integer; ...
- ASP图片格式与base64数据互转方法
ASP图片格式与base64数据相互转换的方法,经常用于处理表单中存储有base64字符串格式的图片. 获取到base64数据,转换成图片 <% Subfolder=year(now)& ...
- Android应用--简、美音乐播放器获取专辑图片(自定义列表适配器)
Android应用--简.美音乐播放器获取专辑图片(自定义列表适配器) 2013年7月3日简.美音乐播放器开发 第二阶段已增加功能: 1.歌词滚动显示 2.来电监听 3.音量控制 4.左右滑动切换歌词 ...
- 获取bing图片并自动设置为电脑桌面背景(C++完整开源程序)
众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...
随机推荐
- Oracle sql%rowcount 返回影响行数;sql server @@RowCount返回影响行数
sql server中,返回影响行数是:If @@RowCount<1 Oracle中,返回影响行数是:If sql%rowcount<1 例: sqlserver: create pro ...
- Lintcode: Minimum Subarray 解题报告
Minimum Subarray 原题链接: http://lintcode.com/zh-cn/problem/minimum-subarray/# Given an array of intege ...
- idea 改变version control
idea 当一个moudule拥有2个VCS的时候 如何切换其应用的VSC 如拥有 SVN 和 GIT 2个版本 ,想换回SVN则删除 git目录 将 version control vcs 设 ...
- 我为什么要学Go语言
# 我为什么要学Go语言 ### 公司的强烈推荐---之前也了解过Go语言并没有觉得有什么了不起,Go能做的其他语言都能做. ### 网上查找学习Go语言的理由---网上大体有两类人,一类说Go是大公 ...
- iOS App中第一次运行添加半透明新手指引
实现方式: 在当前View上一个蒙层,然后找出需要标记的地方圈为白色,那些箭头和提示文字都是UI做出来的图上自带的. 代码: 判断是第一次运行APP后进入页面调用 -(void)newGuide { ...
- Namespace declaration statement has to be the very first statement or after any declare call in the script
0x00缘起 代码部署在windows上,出现了一个bug,临时用记事本打开修改了一下,于是出现了500错误 0x01排错 查看log,提示如下 "Namespace declaration ...
- Flask简介,安装,demo,快速入门
1.Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug ...
- wcf消息契约
1.最多一个参数和一个返回值,返回值和参数的类型都是消息类型. 下面的代码为定义一个消息契约的实例 [MessageContract] public class MyMessage { ...
- [转]java中通过request获取路径中的不同信息
原文地址:http://blog.csdn.net/lv_shijun/article/details/40819859 aa为工程中的项目名 bb为webRoot下的文件夹 1.request.ge ...
- ResponderChain note
http://ww3.sinaimg.cn/large/6b288462gw1evl4h40tfxj20sg0lc77k.jpg