第7項. サイン機能

 サイン機能は、画面にタッチすることで手書きのサインを入力し、画像として保存する機能です。
本機能は、RhoElementsを使用する必要があります。
サインの作成等の処理を行う方法を説明致します。

 1. 端末から全画面でサインを入力し、画像を作成する。

端末から全画面でサインを入力し、画像を作成するにはRho::SignatureCapture::take_signatureメソッドを使用します。

 

Rho::SignatureCapture::take_signature(callback_url, {setting_params})


callback_urlには、サインの入力処理が終わった後にコールバックするURLを指定します。
setting_paramsには、作成するサインに関する設定がハッシュ形式で入ります。

 

● setting_paramsには以下の指定が出来ます。

  • ・“imageFormat” -  作成する画像のフォーマットを指定します。”jpg”か”png”を指定します。
  • ・“penColor” - 線の色を指定します。例)0xff0000
  • ・“penWidth” - 線の幅を指定します。
  • ・“border” - ボーダーの有無を指定します。trueかfalse。
  • ・“bgColor” - 背景の色を指定します。例)0x00ff00

コールバック先では、以下のパラメータを取得することができる。
● “staus” - サイン作成の結果を返す。結果には以下のいずれかが返ってきます。

  • ・“ok” - 正常に作成が完了したとき
  • ・“cancel” - 作成をキャンセルしたとき

● “signature_uri” - 作成したサインが保存されているパス

 

例: コントローラ


def new
  SignatureCapture::take_signature(url_for( :action => :signature_callback),
     {:imageFormat => “jpg”,
      :penColor        =>  0xff0000,
      :penWidth       =>   5,
      :border   =>  true,
      :bgColor    =>  0x00ff00
     }
     )
  redirect :action => :index
end
def signature_callback
  if @params['status'] == 'ok' # サインの作成に成功したとき
    signature = Signature.new({'signature_uri'=>@params['signature_uri']})
    signature.save
  end 
  WebView.navigate( url_for :action => :index )
end

 2. 端末からインラインでサインを入力する。

端末からインラインでサインを入力するには、Rho::SignatureCapture::visibleメソッドを使用します。

 

Rho::SignatureCapture::visible(visibility, {setting_params})


visibilityにはtrueかfalseを指定する必要があります。

 

  • ・visibility
  • ・true ・コントローラーからサイン領域を描画する
  • ・false ・コントローラーからサイン領域を削除する。
  • ・setting_params
  • ・“imageFormat” -  作成する画像のフォーマットを指定します。”jpg”か”png”を指定します。
  • ・“penColor” - 線の色を指定します。例)0xff0000
  • ・“penWidth” - 線の幅を指定します。
  • ・“border” - ボーダーの有無を指定します。trueかfalse。
  • ・“bgColor” - 背景の色を指定します。例)0x00ff00
  • ・“left” - 左からどのくらいの位置にサイン領域を出力するかを指定します。
  • ・“top” - 上からどのくらいの位置にサイン領域を出力するかを指定します。
  • ・“width” - 描画するサイン領域の横サイズを指定します。
  • ・“height” - 描画するサイン領域の縦サイズを指定します。

 

 3. 端末からインラインで入力されたサインをキャプチャする(画像を生成する)

端末から、インラインで入力されたサインをキャプチャするには、Rho::SignatureCapture::captureメソッドを使用します。

 

Rho::SignatureCapture::capture(callback_url)

 

コールバック先では、以下のパラメータを取得することができる。

● “staus” - サイン作成の結果を返す。結果には以下のいずれかが返ってきます。

  • ・“ok” - 正常に作成が完了したとき
  • ・“cancel” - 作成をキャンセルしたとき

● “signature_uri” - 作成したサインが保存されているパス

  4. 端末からインラインで入力されたサインをクリアする

端末から、インラインで入力されたサインをクリアするにはRho::SignatureCapture::clearを使用します。

 

Rho::SignatureCapture::clear   #現在入力中のサインをクリアする。

システム工房エムのサイトへのリンク

住所〒690-0017 島根県松江市西津田3-2-3 TEL.0852-23-8590 FAX.0852-23-8591
Copyright 2008-2010 System Maker M,All right reserved