画像
1
画面のスクリーンショットを保存したい
1
画面のスクリーンショットはRootクラスのScreenShotメソッドで取得することが可能です。
ScreenShotメソッド実行後、画像を格納したImageオブジェクトが返されます。
サンプルでは、Form内のボタンを押下するとForm画面のスクリーンショットが端末に保存されます。確認メッセージが表示された後「はい」を選ぶと、保存したスクリーンショットがセットされたダイアログ画面が表示されます。
※
スクリーンショット取得時、OSからユーザー許可を取得するための通知ダイアログが表示されます。取得を許可する場合は「今すぐ開始」を押下してください。
(通知ダイアログの表示は、Android OSの仕様による動作です。)
[取得結果サンプル]
[ Package1.crs ]
Package Package1 { /* ファイル名 */ String fNm; }
[ Form1.crs ]
import "Package1.crs"; Form Form1 { X = 0; Y = 0; Width = 500; Height = 392; /* ファイル名格納 */ String fileNm; FlexView FlexView1 { X = 29; Y = 78; Width = 404; Height = 179; FlexRecord FlexRecord1{ FlexTextBox FlexTextBox1{ title = "社員番号"; } FlexTextBox FlexTextBox2{ title = "社員名(漢字)"; } FlexTextBox FlexTextBox3{ title = "社員名(かな)"; } FlexTextBox FlexTextBox4{ title = "所属部署"; } }; } Button Button1 { X = 259; Y = 285; Width = 175; Height = 31; Title = "スクリーンショット保存"; Function OnTouch(e) { Function OnTouch(e) { try { /* 画面のスクリーンショット保存 */ var img = //.ScreenShot(); /* ファイル名の設定 */ var fs = new FileSystem; var d = sysdate(); var d1= str(sysdate(),"YYYYMMDD"); var h = hour(d); var m = minute(d); var s = second(d); ^.fileNm = "sample_" + str(d1) + "_" + str(h) + str(m) + str(s) + ".png"; /* スクリーンショットを端末に保存 */ var fp = fs.Open(^.fileNm, FileSystem.OPEN_WRITE); img.Save(fp, Image.FORMAT_PNG); fp.close(); /* 確認用メッセージボックスを表示 */ if (//.MessageBox("保存した画像を開きますか?", "確認", $YesNo + $ICONQUESTION) == YesSelected) { /* Yesの場合、保存した画像をダイアログ画面に表示する */ Package1.fNm = ^.fileNm; //.Get("Dialog1.crs"); } } catch (e) { //.MessageBox(e.Message); } } } } TextBox TextBox1 { X = 263; Y = 40; Width = 168; Height = 29; } if ( !$DESIGNTIME ) { /* FlexViewにデータをロード */ FlexView1 << new CSVDocument << csv { s001,田中太郎,たなかたろう,営業部 s002,鈴木一郎,すずきいちろう,開発部 s003,佐藤次郎,さとうじろう,総務部 s004,山田花子,やまだはなこ,経理部}; /* FlexViewに行を追加 */ FlexView1.InsertRow(3); } }
[ Dialog1.crs ]
import "Package1.crs"; Dialog Dialog1 { Title = "Dialog1"; Form Form1 { Width = 535; Height = 561; ImageLabel ImageLabel1 { X = 7; Y = 12; Width = 513; Height = 529; Resize = $KEEPRATIO; ImageWidth &= Width; ImageHeight &= Height; } } if ( !$DESIGNTIME ) { /* 保存したスクリーンショット(画像ファイル)を設定 */ var fs = new FileSystem(); var f = fs.Open("/" + Package1.fNm, FileSystem.OPEN_READ); var img1 = new Image(); img1.LoadImage(f); Dialog1.Form1.ImageLabel1.SetImage(img1); f.Close(); } }
管理番号:PctHt_001
Biz-Collections Bizの宝箱 トップへ
Biz/Browser HT・Biz/Browser SmartDevice・Biz/Browser AI TIPS集 トップへ