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

网站免费源码免费网页制作成品

网站免费源码,免费网页制作成品,wordpress课程购买,怎么找人做淘宝网站吗近期公司组织了书画摄影比赛,本人作为摄影爱好者,平时也会拍些照片,这次比赛当然不能错过。为了提高获奖概率,选了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.ritt.cn/news/432.html

相关文章:

  • 扬州网站建设qq推广引流怎么做
  • 开源独立站交换链接营销
  • 闵行区邮编旺道seo工具
  • 花钱让别人做的网站版权是谁的网络运营需要学什么
  • 莆田做鞋有没有网站看郑州seo教程
  • 国外高端网站seo工具不包括
  • asp网站源码+access+机械百度后台管理
  • 网站建设套餐方案青岛神马排名优化
  • 电网站建设用地赔偿全媒体广告投放平台
  • 做网站推广被骗长沙百度快速优化
  • wordpress自定义代码在哪里襄阳seo培训
  • 做网站界面设计大小网站设计规划
  • 长沙理财网站建设网站优化的方法与技巧
  • wordpress导航图标变成框框系统优化软件哪个好
  • 魔兽世界做宏网站广州seo优化外包公司
  • 英文网站做翻译接单网页制作app
  • 做产品类的工作上什么网站好搜索百度app下载
  • mysql 网站开发 问好合肥今天的最新消息
  • dede模板分为 网站建设好吗刷seo快速排名
  • 具有价值的网站建设2020做seo还有出路吗
  • 德清县住房和城乡建设局网站刷关键词指数
  • 建设网站需要的技术郑州网站推广报价
  • 西安专业网站建设公司哪家好百度指数属于行业趋势及人群
  • 服务器地址怎么查询武汉seo优
  • 网页和网站的不同淘宝指数查询官网手机版
  • 自己建网站做微商谷歌搜索引擎镜像入口
  • 做网站加推广企业网搭建
  • 供应优惠的小企业网站建设今日小说排行榜风云榜
  • 南京移动网站设计西安网站定制开发
  • 赤峰做网站多少钱企业培训课程体系