GVKun编程网logo

iOS,如何保存Photo Sphere XMP元数据,同时将其保存到相机胶卷?

6

这篇文章主要围绕iOS,如何保存PhotoSphereXMP元数据,同时将其保存到相机胶卷?展开,旨在为您提供一份详细的参考资料。我们将全面介绍iOS,如何保存PhotoSphereXMP元数据,同时

这篇文章主要围绕iOS,如何保存Photo Sphere XMP元数据,同时将其保存到相机胶卷?展开,旨在为您提供一份详细的参考资料。我们将全面介绍iOS,如何保存Photo Sphere XMP元数据,同时将其保存到相机胶卷?,同时也会为您带来3D Sphere View、Apache Sharding-Sphere 3.1.0 正式版发布、Apache 官宣!Sharding-Sphere 首个 Apache 版本发布、Azure Sphere(6)- 30分钟内 连接到Azure IoT Central的实用方法。

本文目录一览:

iOS,如何保存Photo Sphere XMP元数据,同时将其保存到相机胶卷?

iOS,如何保存Photo Sphere XMP元数据,同时将其保存到相机胶卷?

我可以将 Photo Sphere XMP Metadata添加到equirectangular照片.
我将带有XMP元数据的照片上传到Google相册,Google照片可以被识别为球形照片.
然后,我尝试将带有XMP元数据的照片保存到相机胶卷.
我通过相机胶卷将照片分享给Google相册,但Google相册并不知道这是一张球形照片.
我试图下载照片并对其进行分析,发现XMP元数据全部消失了.
当照片保存到相机胶卷时,iOS似乎会编辑元数据.
有没有办法保存照片的XMP元数据,同时将其保存到相机胶卷?

// raw jpg data to NSData
Nsstring *img = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"equirectangular_orig.jpg"];
NSData* imgData = [[NSFileManager defaultManager] contentsAtPath:img];
NSMutableData *newImgData = [NSMutableData dataWithData:imgData];

// writing XMP Metadata to newImgData
// ...
// ...

// saving the newImgData to new jpg file
Nsstring *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"equirectangular_xmp.jpg"];
NSURL *url = [NSURL fileURLWithPath:path];
[[NSFileManager defaultManager] removeItemAtPath:[url absoluteString] error:nil];
[newImgData writetoURL:url atomically:YES];

// saving the new jpg file to camera roll
UIImage *newImg = [UIImage imageWithData:newImgData];
UIImageWritetoSavedPhotosAlbum(newImg,self,nil,nil);

解决方法

关键点:使用

[PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL: url]

代替

[PHAssetChangeRequest creationRequestForAssetFromImage:image]

因为UIImage会破坏原始文件,只需使用临时URL保存原始图像原始数据,并使用creationRequestForAssetFromImageAtFileURL api.

3D Sphere View

3D Sphere View

3D Sphere View 介绍

实现可以自动旋转或者手动旋转的3D球形标签,点击标签会放大该标签。
代码参考了http://code4app.com/ios/4fbc4e2d6803fac330000000 [Code4App.com]


3D Sphere View 官网

https://github.com/heroims/SphereView

Apache Sharding-Sphere 3.1.0 正式版发布

Apache Sharding-Sphere 3.1.0 正式版发布

Apache Sharding-Sphere 3.1.0 发布了,Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。  

主要改进内容包括:

API 变化

  1. 调整 orchestration 注册中心的持久化结构

  2. 调整 Sharding-JDBC 配置 API.

新特性

  1. 支持 XA Transaction.

  2. 如果只路由到单个数据节点,则 100% 兼容 SQL(只支持MySQL)

  3. 支持 SQL DISTINCT 语法

  4. 广播表

  5. 使用低 TPS 的 DefaultKeyGenerator 时解决数据精益问题

Apache 官宣!Sharding-Sphere 首个 Apache 版本发布

Apache 官宣!Sharding-Sphere 首个 Apache 版本发布

竹外桃花三两枝,春江水暖鸭先知。四月春回大地之时,Apache ShardingSphere 4.0.0-RC1终于在今天与大家见面了!

距离ShardingSphere 3.x的时代已有半年之久。在这半年的时间里,ShardingSphere团队夜以继日,持续发力。在产品核心功能方面,我们不断开发新的、重大的功能,修复社区反馈的问题,且持续进行微内核重构打磨;在社区建设方面,不断践行Apache Way,致力于打造充满活力、规范、互助的社区。

作为进入Apache基金会后第一个Release Version,4.0.0-RC1意义非凡 —— Apache官方的宣布邮件。

它将今年1月份发布的3.1.0.M1,3.1.0以及未正式发布的3.1.0.1的功能进行重新打磨和规划,并在此基础上进行其他重量级功能的开发, 修复相关Bug,稳定内核基础,终于以相对完善的姿态于今日与大家见面。

前序

Apache ShardingSphere(Incubating)是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务、数据库治理和管控界面(规划中)功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。

自2018年11月进入Apache基金会孵化器以来,Apache ShardingSphere (Incubating)不仅在核心功能上不断完善和巩固,而且加大了社区建设、对外合作、分享宣传等工作的投入,聆听社区的声音,不断深化国际化发展路线。

本期看点

4.0.0-RC1,作为ShardingSphere进入Apache基金会后第一个Release Version,将3.1.0.M1, 3.1.0, 3.1.0.1 和 4.0.0.M1版本全部合并至此版本发布。

API调整

1. 调整数据库治理模块的注册中心存储结构。
2. 调整Sharding-JDBC的配置相关API。
3. 将包名和maven的groupId从io.shardingsphere改为org.apache.shardingsphere。
4. 调整spring-boot-starter。

新功能

1. 支持XA强一致事务。
2. 支持数据脱敏。
3. 支持使用PostgreSQL协议访问Sharding-Proxy。
4. 支持DISTINCT语句。
5. 支持广播表。
6. 路由至单一数据节点的SQL 100%全兼容(仅MySQL)。

更新日志

1. [MILESTONE #3](https://github.com/sharding-sphere/sharding-sphere/milestone/3)
2. [MILESTONE #4](https://github.com/sharding-sphere/sharding-sphere/milestone/4)
3. [MILESTONE #5](https://github.com/sharding-sphere/sharding-sphere/milestone/5)
4. [MILESTONE #6](https://github.com/sharding-sphere/sharding-sphere/milestone/6)

获取方式

1. 通过Maven获取Sharding-JDBC

<groupId>org.apache.shardingsphere</groupId>

<artifactId>sharding-jdbc-core</artifactId>

<version>4.0.0-RC1</version>

2. 通过下载地址获取源码或二进制包

https://www.apache.org/dyn/closer.cgi/incubator/shardingsphere/4.0.0-RC1/

Apache ShardingSphere(Incubating)自2016开源以来,不断精进、不断发展,被越来越多的企业和个人认可:Github上收获7000+的stars,70+公司企业的成功案例。此外,越来越多的企业和个人也加入到Apache ShardingSphere(Incubating)的开源项目中,为它的成长和发展贡献了巨大力量。

我们从未停息过脚步,聆听社区伙伴的需求和建议,不断开发新的、强大的功能,不断使其健壮可靠!

开源不易, 我们却愿向着最终的目标,步履不停!

那么,正在阅读的你,是否可以助我们一臂之力呢?分享、转发、使用、交流,以及加入我们,都是对我们最大的鼓励!

项目地址:https://github.com/apache/incubator-shardingsphere
更多信息请浏览官网:https://shardingsphere.apache.org/

经授权转载自 ShardingSphere官微

Azure Sphere(6)- 30分钟内 连接到Azure IoT Central

Azure Sphere(6)- 30分钟内 连接到Azure IoT Central

本文中讲介绍:

30分钟内将Azure Sphere 连接到Azure IoT Central并展示基本图表

本节主要以实操为主,不对Azure IoT Central做过多讲解,后续章节中会单独介绍Azure IoT Central。

 

本文步骤:

1. 创建Azure IoT Central;

2.将Azure Sphere 租户证书配置到Azure IoT Central中;

3.在Azure IoT Central中创建设备模板;

4. 在Visual Studio 调试Azure Sphere 高级程序并配置DPS以连接到Azure IoT Central;

5.在IoT Central中创建报警规则;

 

视频讲解:

您可以在B站观看本文视频讲解:https://www.bilibili.com/video/BV1D54y1R7Z3/

 

图文讲解(视频讲解更详细):

注意:本文案例的配置步骤,尤其是设备模板部分,只适用于Azure Sphere 默认的Azure IoT central demo,如果您设计的是其他产品,例如温湿度计等等,需要按照你实际的产品进行设计!

本例的示例代码与上一节内容相同,请参见:https://github.com/Azure/azure-sphere-samples

1. 创建Azure IoT Central

img-f3b392d7-450f-4809-a11a-75f84cd7b09d.png

 

 

填写名称,选择定价层,选择位置,本例中选择离我们最近的亚太区域。

其中模板里针对特定的场景做了一些预置的模板,可供大家选择,本例中,我们选择自定义应用程序。

img-9e83d7c0-9e94-4615-8a4a-2e0d9ac3ab03.png

其中定价参考如下:

新客户有7天免费试用层,除此之外:

定价层 标准层 1 标准层 2
用例 适用于每小时发送少量消息的设备 适用于每隔几分钟发送一次消息的设备
每设备价格 每月 $0.4 每月 $0.7
每月设备消息分配* 5,000 条消息 30,000 条消息
每个 IoT Central 应用程序包含的免费数量 2 台免费设备(包含 10,000 条消息) 2 台免费设备(包含 60,000 条消息)
超出每月消息分配的超额使用价格1 每 1K 条消息 $0.015 每 1K 条消息 $0.015

* 跨 IoT Central 应用程序中的所有设备共享消息分配总数

1 标准消息大小为 4 KB。例如,如果设备发送 4.5 KB 消息,则按 2 条消息计费。

创建完成后,点击下图连接可进入主界面:

img-87183b56-a45a-4233-9103-91479f419641.png

 

2.将Azure Sphere 租户证书配置到Azure IoT Central中

 

img-8a9049f3-49c2-478a-be01-f089100ad79f.png

Azure Sphere 租户证书获取命令:

下载Azure Sphere 租户证书:

azsphere tenant download-CA-certificate --output C:\CAcertificate.cer

img-dfdaced8-0bea-4889-a734-a9e6fefa8e5e.png

 

img-f7689c56-061c-4bb9-bd99-7b1aaf181e6a.png

使用如下命令 通过验证码生成验证证书,然后点击上图的验证按钮,上传验证证书。

获取验证证书:

azsphere tenant download-validation-certificate --output C:\ValidationCertification.cer --verificationcode codeXXXXX

 

img-ed6dd5b5-63d2-4589-9867-70d3fdf09612.png

 

3.在Azure IoT Central中创建设备模板

选择IoT 设备,下一步

img-94138f8f-9029-45c7-8218-8b42a30ee753.png

如下图直接点击下一步:

img-766765cf-4f36-4432-8c4a-42bd4c3b25aa.png

 

如下图直接点击下一步:

img-a0d3d5ef-cf96-4d73-9b7b-b65078c119d3.png

 

 

 

 

输入名称后,点击 自定义

img-6b14d7ac-1672-4bd9-a0ca-9515d3973f48.png

 

点击添加接口:

img-b6ff6f6a-14c7-4683-8c26-575be52cd542.png

点击自定义接口:

img-8c2f40b3-f45d-469b-868e-2c7c1f0a4c20.png

点击添加功能:

img-2b010bb6-232c-4530-92d9-3acd255f33f1.png

 

输入“Temperature” 的相关信息,点击保存;

点击右上角发布:

img-3d764669-d01c-455d-89bf-e14aa19ceec8.png

添加完成后可以在设备中看到 Azure Sphere 分组:

img-adc19e3e-daa7-4998-8346-6dd1f437e0e0.png

4. 在Visual Studio 调试Azure Sphere 高级程序并配置DPS以连接到Azure IoT Central

划重点,在示例代码中的Tools 路径中,执行ShowIoTContralConfig命令,按照提示执行,即可获得json配置文件中需要的值。

其中API Token 新建一个即可!

img-03d9f7d1-2580-49fa-b4bd-f1b97a8b89a9.png

将提示的配置文件更新到代码中:

img-6b2b31f7-aac0-439a-b381-99b46a1c2c11.png

编译项目:

img-1a5786d2-c659-44e0-a5ab-0a1a92e94045.png

编译CMakelist.txt(鼠标右键)

img-43b47d82-d9b1-4e13-b3df-795a9830e76b.png

选择GDB Debugeger(HL Core) 并开始调试

img-aee14986-45ab-4795-94d4-f586bf206432.png

运行之后可以看到如下OK的结果,表示连接到IoT Central成功:

img-5ed21b2a-2ebf-4b7e-ac87-77ec578f6cc4.png

可以看到自动注册到IoT Central中的设备:

img-126e9e50-a399-432c-88e8-a3f6050a6c16.png

 

点击迁移,将其迁移到 Azure shpere模板即可,即将物理设备和设备模板绑定。

img-664faf65-dbb4-4292-94ff-dd1eee4c0744.png

 

编辑仪表板,设置如下:

img-5920dd7c-e6ad-4ab4-aada-77436c2bc98e.png

保存后在首页刷新即可看到效果:

img-31e652b9-2b32-474d-964d-826cd85b7189.png

5.在IoT Central中创建报警规则;

img-8698a7a7-e3ce-483f-8574-c0f548e116af.png

在符合条件时,即可收到报警邮件:

img-d3c485b0-7586-4a07-a51a-84ca8f53bee3.png

 

 

本系列其他内容:

  1. (视频)一起学Azure Sphere(1)- 什么是 Azure Sphere

  2. (视频)一起学Azure Sphere(2)- 准备 Azure Sphere开发环境并声明设备

  3. (视频)一起学Azure Sphere(3)- 本地开发调试高级程序,上传映像后云端部署到设备

  4. (视频)一起学Azure Sphere(4)- 将Azure Sphere 通过DPS注册到Azure IoT Hub并发送遥测消息

  5. (视频)一起学Azure Sphere(5)- 将Azure Sphere 预配到Azure China IoT Hub

  6. (视频)一起学Azure Sphere(6)- 30分钟内将Azure Sphere 连接到Azure IoT Central并展示基本图表

 


我们今天的关于iOS,如何保存Photo Sphere XMP元数据,同时将其保存到相机胶卷?的分享就到这里,谢谢您的阅读,如果想了解更多关于3D Sphere View、Apache Sharding-Sphere 3.1.0 正式版发布、Apache 官宣!Sharding-Sphere 首个 Apache 版本发布、Azure Sphere(6)- 30分钟内 连接到Azure IoT Central的相关信息,可以在本站进行搜索。

本文标签: