画像

Q1
画面キャプチャを画像ファイル(ビットマップ、JPG、PNG)で保存したい  
A1
RootクラスのHardCopyメソッドで取得した画面キャプチャはこれまでプリンタに出力することしかできませんでした。
Biz/Browser V ver5.0.4.0より、印刷ではなくImageオブジェクトとしてハードコピーを取得し、
ImageクラスのSaveメソッドを利用して、画像を指定のフォーマット(※1)で保存することが可能です。

[サンプルコード]
Form Pct50_002{
・・・省略・・・
 Button Button1 {
  X = 79;
  Y = 188;
  Width = 250;
  Height = 77;
  Title = "画面キャプチャを取得する";
  
  Function OnTouch( e ) {
   /* 画像名 */
   var img_name;
   /* 画像のフォーマット */
   var img_format;
   
   try{
    /* 画像のハードコピーをイメージオブジェクトとして保存 */
    var img = //.HardCopy( $HC_DESKTOP, 
                                  $HC_DATE+$HC_INFO, "", "@image" );
    /* オプションボタンが押されたときの処理 */
    switch (^.OptionButton1.Value) {
    /* ビットマップだった場合 */
     case 0:
      img_name = "sample.bmp";
      img_format = 0;
     break;
     /* JPEGだった場合 */
     case 1:
      img_name = "sample.jpg";
      img_format = 1;
     break;
     /* PNGだった場合 */
     case 2:
      img_name = "sample.png";
      img_format = 2;
     break;
    }
    /* オプションボタンで選択した画像名でファイルを開く */
    var fs = new FileSystem();
    var fp = fs.Open(img_name, FileSystem.OPEN_WRITE);
    /* 指定のフォーマットで画像ファイルを保存する */
    img.Save(fp, img_format);		
    fp.close();		
   }catch(e){
   	//.MessageBox(e.Message);
   }
  }
 }
 OptionButton OptionButton1 {
  X = 85;
  Y = 128;
  Width = 297;
  Height = 55;
  OptionItem OptionItem1[3] {
   X = 10;
   Y = 11;
   Height = 35;
   Width = 87;
   Layout = $HORIZONTAL;
   OptionItem1[0].Title = "BMP";			
   OptionItem1[1].Title = "JPEG";
   OptionItem1[2].Title = "PNG";
  }
 }
}

(※1)Saveメソッドで利用できる拡張子は.jpg、.png、.bmpの何れかになります。
(※2)ImageListクラスのGetImageメソッドで取得したImageオブジェクトでは無効です。

CRSファイル形式のサンプルは
 「画面キャプチャを画像ファイル(ビットマップ、JPG、PNG)で保存したい(Pct50_002.crs)」
よりご利用いただけます。

管理番号:Pct50_002
 
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser V・Biz/Designer V TIPS集 トップへ