用于从索尼数码相机检索图像的 Swift 包。
斯威夫特PM
要使用 Swift Package Manager 安装 OpenAlpha,请将以下依赖项添加到您的 Package.swift 文件中:
. Package ( url : " https://github.com/colealanroberts/OpenAlpha/OpenAlpha.git " , majorVersion : 1 )
或者,您可以通过单击 Xcode 的“Swift Packages”菜单中的“+”按钮将 OpenAlpha 添加到您的项目中。
所需的权利
必须将以下权利添加到您的 Xcode 目标中 -
连接到相机
import OpenAlpha
let oa = OpenAlpha ( )
let hotspot = OpenAlpha . Hotspot ( ssid : " DIRECT-SSID:ILCE-7M2 " , passphrase : " 1234abcd " )
do {
let ip = try await oa . connect ( to : hotspot )
// Specific sizes can be requested using: `[.thumbnail, .small, .large, .original]`.
// Additionally, a static helper method `.all()` has been included,
// though one should note the potential battery cost.
let media = try await oa . media ( sizes : . all ( ) , from : ip )
print ( media ) // [Media]
} catch {
fatalError ( error . localizedDescription )
}
?注意:如果
Asset.original
资源可用于检索,则指定.all()
可能会产生额外费用。一般来说,这些数据代表原始的高分辨率照片,并且在分辨率和文件大小方面可能比.large
大得多。该资源可能需要更长的时间来检索,从而导致相机电池的额外消耗。
您还可以通过传递String
值来创建Hotspot
对象,如果您从 QR 码检索了热点配置,这将非常有用。有关如何扫描和处理 QR 码的信息,请参阅本教程。
在内部,此初始化程序使用Scanner
并尝试从 String 值构造有效的Hotspot
对象。
Media
对象包含三个Asset
属性: small
、 large
、 thumbnail
,以及可选的original
(如果相机支持)。每个 Asset 对象都有一个data
属性,它是一个表示 JPEG 图像的NSData/Data
对象。您可以使用此数据创建UIImage/NSImage
或类似对象:
let image = UIImage ( data : media [ 0 ] . large . data )
imageView . image = image
欢迎为 OpenAlpha 做出贡献!
如果您想报告错误、讨论代码的当前状态、提交修复或提出新功能,请使用 GitHub 的问题和拉取请求功能。
以下相机型号已被确认与 OpenAlpha 兼容:
注意这不是完整列表,请在确认后打开包含兼容相机型号的 PR。请参阅确认兼容性 Wiki 条目。
OpenAlpha 根据 MIT 许可证获得许可。请参阅许可证了解更多信息。
科尔·罗伯茨