C# Windows Runtime SDK 编辑图片的基本和高级属性

news/2024/7/21 4:29:06 标签: winrt, c#, 图像处理

C# Windows Runtime SDK 编辑图片的基本和高级属性

  • 技术目标
  • 具体步骤
    • Windows.Storage.Picker 文件选择器
    • 获取文件属性对象
    • 访问图片文件基本属性
    • 访问图片文件高级属性
    • 注意事项

技术目标

这里所谓的基本属性是指:tags (keywords), rating。高级属性是指:geographic information (including latitude and longitude) 。我们通过Windows Runtime SDK提供的方法使用C#语言来实现。

具体步骤

Windows.Storage.Picker 文件选择器

var picker = new Windows.Storage.Pickers.FileOpenPick();
picker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;
picker.pickSingleFileAsync().then(function (file) {... ...});

获取文件属性对象

使用文件选择器得到的file object得到image properties object:

file.properties.getImagePropertiesAsync().then(function (imageProperties) {... ...});

访问图片文件基本属性

使用得到的image properites object获取图片文件的基本属性:

imageProperites.title = tileValue;
imageProperties.rating = userRating;       // rating的范围是0~99
imageProperites.keywords.append(keyword);   // keywords可以添加多个,系统会自动用“;"分割,无需用户添加

访问图片文件高级属性

获取图片文件高级属性对象advProperites, 并使用它访问geographic information:

 imageProperites.retrievePropertiesAsync(
                     ["System.GPS.LatitudeNumerator",
                      "System.GPS.LatitudeDenominator",
                      "System.GPS.LongitudeNumerator",
                      "System.GPS.LongitudeDenominator"]
               ).then(function(advProperties) {
                     advProperties.insert("System.GPS.LatitudeNumerator", latNum);  
                     advProperties.insert("System.GPS.LatitudeDenominator", latDen); 
                     advProperties.insert("System.GPS.LongitudeNumerator", longNum); 
                     advProperties.insert("System.GPS.LongitudeDenominator", longDen); 
              });

注意事项

特别注意,rating这个属性必须要大于0,否则keywords以及geographic information均无法修改和访问。


http://www.niftyadmin.cn/n/832737.html

相关文章

vue怎么制作横向的树形组件_vue+antdesign 树形组件的使用

以下是模拟数据{"Body": [{"ID": 1,"DeptName": "深圳有限公司","ParentID": null,"IsUse": 0,"DLevel": 1,"DSort": 1},{"ID": 2,"DeptName": "外教网",&quo…

H5 CSS3 实现文字图片同行居中

H5页面上常用到用户信息栏,用户头像和用户名称同行显示,一般图片高度会比文字高很多。这时候需要文字在整行中居中显示。查了网上的很多方法,都是不靠谱的。比如:设置div的line-height和height相同高度等。 这里实际使用了下述方法…

php 引入文件报错,怎样处理引入php文件报错的问题_后端开发

引入php文件报错的处理办法:起首检测被包括的文件读权限是不是翻开;然后检测被包括的文件途径上的每一个目次的x权限是不是翻开,将该权限翻开即可。引荐:《PHP视频教程》php剧本中include文件报错处理要领常常当php页面中应用incl…

a byte of python 百度云_资料 | A Byte of Python

下载地址:内容简介今天分享的是Swaroop C H的A Byte of Python。大约十年前,我因机缘巧合(就是记不清了),发现了Swaroop C H的A Byte of Python,断断续续读过两三次,打下了Python的基础。尽管是个彻彻底底的IT外行&…

java.util报红,线程池报java.util.concurrent.RejectedExecutionException错误

线程池报java.util.concurrent.RejectedExecutionException异常java.util.concurrent.RejectedExecutionExceptionat java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)at java.util.concurrent.ThreadPoolExecutor.rejec…

boot cloud 每个微服务_服务网关zuul之一:入门介绍(虽然之前学过一点 java,还是看不懂啊)...

服务网关zuul之一:入门介绍 - duanxz - 博客园​www.cnblogs.com服务网关zuul之二:过滤器--请求过滤执行过程(源码分析) - duanxz - 博客园​www.cnblogs.com服务注册发现Eureka之一:Spring Cloud Eureka的服务注册与发…

IIS: ARR + URLRewrite反向代理使用小记

Application Request Routing (ARR) 要架设反向代理(reverse proxy)或者要做负载平衡,就要先安装这个玩意儿。安装完成后在IIS控制面板出现Application Request Routing Cache和URL Rewrite的应用图标。 打开URL Rewrite创建rewrite规则就可以实现反向代理功能了。但…

php下载 乱码怎么解决方法,学习猿地-如何解决php下载中文文件乱码问题

php下载中文文件乱码的解决办法:1、页面编码改成utf8;2、对中文url进行urlencode编码,并根据UA检测,实现区别下载即可。PHP Header下载文件在IE文件名中文乱码问题简介: 解决PHP Header下载文件在IE文件名中文乱码有两…