这篇文章主要围绕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元数据,同时将其保存到相机胶卷?
- 3D Sphere View
- Apache Sharding-Sphere 3.1.0 正式版发布
- Apache 官宣!Sharding-Sphere 首个 Apache 版本发布
- Azure Sphere(6)- 30分钟内 连接到Azure IoT Central
iOS,如何保存Photo Sphere XMP元数据,同时将其保存到相机胶卷?
我将带有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球形标签,点击标签会放大该标签。
代码参考了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 发布了,Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。
主要改进内容包括:
API 变化
调整 orchestration 注册中心的持久化结构
调整 Sharding-JDBC 配置 API.
新特性
支持 XA Transaction.
如果只路由到单个数据节点,则 100% 兼容 SQL(只支持MySQL)
支持 SQL DISTINCT 语法
广播表
使用低 TPS 的 DefaultKeyGenerator 时解决数据精益问题
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
本文中讲介绍:
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
填写名称,选择定价层,选择位置,本例中选择离我们最近的亚太区域。
其中模板里针对特定的场景做了一些预置的模板,可供大家选择,本例中,我们选择自定义应用程序。
其中定价参考如下:
新客户有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 条消息计费。
创建完成后,点击下图连接可进入主界面:
2.将Azure Sphere 租户证书配置到Azure IoT Central中
Azure Sphere 租户证书获取命令:
下载Azure Sphere 租户证书:
azsphere tenant download-CA-certificate --output C:\CAcertificate.cer
使用如下命令 通过验证码生成验证证书,然后点击上图的验证按钮,上传验证证书。
获取验证证书:
azsphere tenant download-validation-certificate --output C:\ValidationCertification.cer --verificationcode codeXXXXX
3.在Azure IoT Central中创建设备模板
选择IoT 设备,下一步
如下图直接点击下一步:
如下图直接点击下一步:
输入名称后,点击 自定义
点击添加接口:
点击自定义接口:
点击添加功能:
输入“Temperature” 的相关信息,点击保存;
点击右上角发布:
添加完成后可以在设备中看到 Azure Sphere 分组:
4. 在Visual Studio 调试Azure Sphere 高级程序并配置DPS以连接到Azure IoT Central
划重点,在示例代码中的Tools 路径中,执行ShowIoTContralConfig命令,按照提示执行,即可获得json配置文件中需要的值。
其中API Token 新建一个即可!
将提示的配置文件更新到代码中:
编译项目:
编译CMakelist.txt(鼠标右键)
选择GDB Debugeger(HL Core) 并开始调试
运行之后可以看到如下OK的结果,表示连接到IoT Central成功:
可以看到自动注册到IoT Central中的设备:
点击迁移,将其迁移到 Azure shpere模板即可,即将物理设备和设备模板绑定。
编辑仪表板,设置如下:
保存后在首页刷新即可看到效果:
5.在IoT Central中创建报警规则;
在符合条件时,即可收到报警邮件:
本系列其他内容:
(视频)一起学Azure Sphere(1)- 什么是 Azure Sphere
(视频)一起学Azure Sphere(2)- 准备 Azure Sphere开发环境并声明设备
(视频)一起学Azure Sphere(3)- 本地开发调试高级程序,上传映像后云端部署到设备
(视频)一起学Azure Sphere(4)- 将Azure Sphere 通过DPS注册到Azure IoT Hub并发送遥测消息
(视频)一起学Azure Sphere(5)- 将Azure Sphere 预配到Azure China IoT Hub
(视频)一起学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的相关信息,可以在本站进行搜索。
本文标签: