注意:比較的新しいデバイスのカメラを使用して撮影した写真の画質は非常に良いですが、quality パラメーターを指定したとしても、フォトアルバムの画像が低画質の画像へと縮小されることはありません。そのような画像を Base64 でエンコードすると、比較的新しいデバイスの多くでメモリの問題が発生します。そのため、撮影した画像の FILE_URI を使用することを強くお勧めします。

カメラからの画像の取得

この関数は、デバイスのデフォルトのカメラアプリケーションを呼び出して、カメラをソースとして使用して写真を撮影します。

getPicture 関数を使用してカメラから画像を取得する方法の例を次に示します。

<cfset picture = cfclient.camera.getPicture(options, base64)>

使用例を次に示します。

<cfclientsettings enableDeviceAPI=true>
<cfclient>
<cffunction access="public" name="getpiccam" returntype="void" >
<cfset opt = cfclient.camera.getOptions()>
<cfset response = cfclient.camera.getPicture(opt,true)>

<cfset response ='data:image/jpeg;base64,'+ response>
<cfset src_to_img("myimg", response)>
</cffunction>

</cfclient>

<button style="width:100;height:50" onclick="invokeCFClientFunction(' getpiccam',null)">Get a picture
</button>

<img style = "width:200; height:100;" id = "myimg"></img>

<script type="text/javascript">
function src_to_img(img_id,data_to_write)
{
document.getElementById(img_id).src=data_to_write;
}
</script>

この例では、ボタンをクリックしたときに、デフォルトのカメラアプリケーションが開き、撮影後の画像が <img> タグにレンダリングされます。

注意:戻り値のオブジェクトを Base-64 でエンコードされた文字列とする必要があることを示すパラメーターとして true を渡した場合、その内容に「data:image/jpeg;base64」という接頭辞を付けてからレンダリングする必要があります。

メソッドの概要

getPicture(Options, base64)

  • 戻り値 – 画像ファイルの URI または Base64 でエンコードされた文字列を返します。
  • パラメーター
    •  Options – オブジェクト
    • base64 – 戻り値のオブジェクトを Base64 でエンコードされた文字列とする必要があることを示す boolean フラグ。

Options オブジェクトの形式

Options オブジェクトのすべてのプロパティの一覧を次の表に示します(ColdFusion はこれらのプロパティのデフォルトを設定します)。

プロパティ

タイプ

allowEdit

Boolean

encodingType

JPEG または PNG

popoverOptions

Object

savePhotoToAlbum

boolean

Quality

Number(0 ~ 100)

サポートされるすべてのプロパティについては、このドキュメントを参照してください。

カメラ API の使用」を参照してください。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー