当前位置: 首页 > news >正文

免费政府网站国家高新技术企业查询

免费政府网站,国家高新技术企业查询,全球速卖通官网入口,南宁品牌网站建设近期公司组织了书画摄影比赛,本人作为摄影爱好者,平时也会拍些照片,这次比赛当然不能错过。为了提高获奖概率,选了19张图像作为参赛作品。但是,摄影作品要提交图像的光圈、曝光时间等参数。一两张还可以通过电脑自带软…

近期公司组织了书画摄影比赛,本人作为摄影爱好者,平时也会拍些照片,这次比赛当然不能错过。为了提高获奖概率,选了19张图像作为参赛作品。但是,摄影作品要提交图像的光圈、曝光时间等参数。一两张还可以通过电脑自带软件右键查看图像参数并一个个复制,但现在有19张,让我一点点复制还不如直接放弃参与了。谁让咱们还有一个身份是coder,那就现场手撸个小程序批量输出图像的EXIF信息。

开发需求很简单,就是能手动选取一个文件夹,然后读取该路径下的所有文件(图片),然后提取每张图像的exif信息,并将结果显示到界面,然后将Ctrl + A复制所有信息即可。在开发上,语言选择c#,搭配WPF框架,并选择ExifLib这个轻量化的EXIF信息提取库获取图像参数信息,下图是最终的提取信息。
在这里插入图片描述
XAML主要代码

    <Grid><Grid.RowDefinitions><RowDefinition Height="*"/><RowDefinition Height="auto"/></Grid.RowDefinitions><TextBox x:Name="textBox" Grid.Row="0"/><Button Content="请选择一个路径"  Click="Button_Click"  Grid.Row="1" Background="LightBlue" Margin="2,0,2,2" Padding="5" /></Grid>

cs逻辑代码:

		using ExifLib;private void Button_Click(object sender, RoutedEventArgs e){// 创建一个选择文件路径的对话框OpenFileDialog openFileDialog = new OpenFileDialog();openFileDialog.Multiselect = false;openFileDialog.CheckFileExists = false;openFileDialog.FileName = "Folder Selection.";openFileDialog.Filter = "Folders|no.files";Dictionary<string, string> dic_pathAndName = new Dictionary<string, string>();if (openFileDialog.ShowDialog() == true){string folderPath = System.IO.Path.GetDirectoryName(openFileDialog.FileName);// 使用 DirectoryInfo 类获取该路径下的所有文件DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);FileInfo[] fileInfos = directoryInfo.GetFiles();// 处理获取到的文件foreach (FileInfo fileInfo in fileInfos){Debug.WriteLine(fileInfo.Name);//dic_pathAndName[System.IO.Path.GetFileNameWithoutExtension(fileInfo.FullName)] = fileInfo.FullName;//key为没有后缀名的文件名dic_pathAndName[fileInfo.Name] = fileInfo.FullName;}}if (dic_pathAndName.Count == 0) return;foreach (var dic in dic_pathAndName){Debug.WriteLine($"{dic.Key}:  {getImageExifInfo(dic.Value)}");textBox.AppendText($"{dic.Key}, {getImageExifInfo(dic.Value)}\n");}}string getImageExifInfo(string path){if (!File.Exists(path)) return "";string res = "";try{using (ExifReader reader = new ExifReader(path)){// 相机制造商if (reader.GetTagValue(ExifTags.Make, out string make))Debug.WriteLine("相机制造商: " + make);// 相机型号if (reader.GetTagValue(ExifTags.Model, out string model))Debug.WriteLine("相机型号: " + model);// 光圈if (reader.GetTagValue(ExifTags.FNumber, out double fNumber)){var fNumberFraction = FractionFromDouble(fNumber);Debug.WriteLine("光圈: F/" + fNumber);}string time = "";// 快门速度if (reader.GetTagValue(ExifTags.ExposureTime, out double exposureTime)){var exposureTimeFraction = FractionFromDouble(exposureTime);time = exposureTimeFraction.Item1 + "/" + exposureTimeFraction.Item2;}// ISOif (reader.GetTagValue(ExifTags.ISOSpeedRatings, out ushort isoSpeedRatings))Debug.WriteLine("ISO: " + isoSpeedRatings); 曝光时间//if (reader.GetTagValue(ExifTags.ExposureTime, out double exposureTime))//    Debug.WriteLine("曝光时间: " + exposureTime.ToString("0.##") + " s");// 焦距if (reader.GetTagValue(ExifTags.FocalLength, out double focalLength))Debug.WriteLine("焦距: " + focalLength.ToString("0.##") + " mm");res = $"{model} f/{fNumber} {time}s ISO-{isoSpeedRatings} {focalLength}mm";}}catch (Exception e){}return res;}private Tuple<int, int> FractionFromDouble(double value, double error = 0.0001){int denominator = 1;while (Math.Abs(value * denominator - Math.Round(value * denominator)) > error)denominator++;return Tuple.Create((int)Math.Round(value * denominator), denominator);}

以上代码直接复制、拷贝走,然后可以根据自己的需求输出想要的图像参数信息,并随意定义文本格式,爽歪歪。

http://www.tj-hxxt.cn/news/45243.html

相关文章:

  • 国家税务总局网站官网网址东莞seo优化排名推广
  • eclice网站开发搜索引擎营销的特征
  • 进网站后台加什么原因网店运营推广方案
  • 外包公司做网站有哪些内容微信营销典型案例
  • html旅游网页制作代码优化推广网站淄博
  • 哪个小说网站版权做的好处整站优化价格
  • 濮阳建站建设事件营销案例
  • wordpress wedocs成都seo外包
  • html5动态网页代码昆明网站seo优化
  • 网站开发环境怎么写软文模板300字
  • 网站正在建设中 页面搜索关键词排名提升
  • 消防做设计有什么网站百度风云排行榜
  • 龙华网站建设推广平台关键词搜索热度查询
  • 如何开发电商网站域名解析网站
  • 照片在线编辑网站排名优化首页
  • 韩国的电商网站百度推广登录
  • 国外画册设计网站火爆产品的推广文案
  • 软件快速开发平台重庆网站seo外包
  • 有什么网站图片可以做图片合成专业制作网站的公司哪家好
  • 中企动力做网站多久能好企业网站设计图片
  • 人才网站建设方案今天时政新闻热点是什么
  • wordpress图片alt属性宁波厂家关键词优化
  • wordpress 打赏可见推广资源seo
  • 网站建设名牌常德论坛网站
  • 手机网站建设的公司济南新站seo外包
  • 个人电脑做网站违法吗南昌百度网站快速排名
  • 建网站怎么样才能流畅深圳优化公司哪家好
  • 做网站_你的出路在哪里品牌全案营销策划
  • 怎么在网上做装修网站信息流广告代运营
  • 做网站可以用微软雅黑字体么黄冈黄页88网黄冈房产估价