PhotoLibrary 外部オブジェクトを使用して、デバイスのフォトギャラリーを操作できます。
「GeneXus でスマートデバイス用 Camera 外部オブジェクトを使用する方法」でデバイスの内蔵カメラをアプリケーションで操作する方法を解説しました。この API を使用して、アプリケーションからネイティブ フォト ギャラリーに画像や動画を保存したり、ギャラリーから画像や動画を取得したりできます。この記事では、この API の機能に着目し、スマート デバイス アプリケーションで使用する方法の例を紹介します。
コード例 1: 動画を操作する方法
次の Panel for Smart Devices オブジェクトを作成します。
Event 'save'
photoLibrary.SaveVideo(&CompanyPresentationVideo)
Endevent
Event 'Choose'
&CompanyPresentationVideo = photolibrary.ChooseVideo()
Endevent
変数: &CompanyPresentationVideo は Video データタイプに基づいています。
異なる種類の画像に対し、Save メソッドが使用されるケースが 3 つ考えられます。
- DB から画像を保存する (項目属性)
- URL から画像を保存する (ImageVariable.FromURL(url))
- カメラで撮影したばかりの画像を保存する (CameraAPI)
次の Panel for Smart Devices オブジェクトを作成します。
Event Refresh
&saveToLibFromWeb.FromURL('https://encrypted-tbn3.google.com/images?q=tbn:ANd9GcQ8n7HS90TxDvT4TcEphGN_AOxgwaOtUJ1rgM7f1puDi7851pcG1Q')
EndEvent
Event 'GetFromLibrary'
&getFromLibrary = PhotoLibrary.ChooseImage()
Endevent
Event 'saveFromURL'
PhotoLibrary.Save(&saveToLibFromWeb)
Endevent
&saveToLibFromWeb および &getFromLibrary は Image データタイプに基づいています。
ChooseImage メソッドが呼び出された場合:
Save メソッドに関しては、UI として表示されるものはありませんが、実行結果として、デバイスのフォトギャラリーに保存された URL の画像が表示されます。
|