用於從索尼數位相機檢索影像的 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 許可證獲得許可。請參閱許可證以了解更多資訊。
科爾·羅伯茨