Wide Studio Object Reference

Wide Studio Home
Up to

## クラスの型

WSDmwindowDev

## メソッド関数仕様

### getGeometry 関数の説明

書式
  void getGeometry(WSCushort* w,WSCushort* y)
機能
  現在の描画領域の縦横幅を取得する関数です。
処理
引数

  (out)WSCushort* w | 横幅
  (out)WSCushort* h | 縦幅

返値
  なし。
注意
サンプル

        WSDmwindowDev* mdev = WSDmwindowDev::getNewInstance();
        mdev->createPixmap(200,200);
        WSCushort w,h;
        mdev->getGeometry(&w,&h) //200,200 が返されます。

  ### copyToWindow 関数の説明

  書式
    long copyToWindow(WSDdev* dev,short x,short y,WSCushort w,WSCushort h,short dx,short dy)
  機能
    メモリデバイス上の指定された領域の画像イメージを、 ウィンドウ資源インスタンスへコピーする関数です。
  処理
  引数

    (in)WSDdev* dev | ウィンドウシステム資源インスタンス
    (in)short x | コピー元Ｘ座標
    (in)short y | コピー元Ｙ座標
    (in)WSCushort w | コピー元領域の横幅
    (in)WSCushort h | コピー元領域の縦幅
    (in)short dx | コピー先Ｘ座標
    (in)short dy | コピー先Ｙ座標

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル
    画像 001.jpg を段々と浮き上がるように表示します。

        #include <WSCcolorSet.h>
        #include <WSCimageSet.h>
        #include <WSCmainWindow.h>
        extern WSCmainWindow* newwin000;

        #include <WSDmwindowDev.h>
        WSDmwindowDev* mdev = NULL;
        WSDmwindowDev* mdev2 = NULL;

        void btnep(WSCbase* object){
          WSDdev* dev = newwin000->getdev();
          if (mdev == NULL){
            mdev = WSDmwindowDev::getNewInstance();
            mdev2 = WSDmwindowDev::getNewInstance();
          }
          mdev->createPixmap(200,200);
          mdev->beginDraw(0,0,200,200);
          WSDimage* image = WSGIappImageSet()->getImage("001.jpg");
          mdev->drawStretchedImage(0,0,200,200,image);
          mdev->endDraw();

          mdev2->createPixmap(200,200);

          mdev->initBuffer();
          mdev2->initBuffer();

          long i,x,y;
          for(i=0;i<100; i++){
            for(x=0; x<200; x++){
              for(y=0; y<200; y++){
                WSCuchar r,g,b;
                mdev->getBufferRGB(x,y,&r,&g,&b);
                r = (WSCushort)((double)(r*i)/100);
                g = (WSCushort)((double)(g*i)/100);
                b = (WSCushort)((double)(b*i)/100);
                mdev2->setBufferRGB(x,y,r,g,b);
              }
            }
            mdev2->putBufferToPixmap();
            mdev2->copyToWindow(dev,0,0,200,200,0,0);
          }
        }
        static WSCfunctionRegister  op("btnep",(void*)btnep);

  ### copyFromWindow 関数の説明

  書式
    long copyFromWindow(WSDdev* dev,short x,short y,WSCushort w,WSCushort h,short dx,short dy)
  機能
    ウィンドウ資源インスタンス上の指定された領域の画像イメージを、 メモリデバイスにコピーする関数です。
  処理
  引数

    (in)WSDdev* dev | ウィンドウシステム資源インスタンス
    (in)short x | コピー元Ｘ座標
    (in)short y | コピー元Ｙ座標
    (in)WSCushort w | コピー元領域の横幅
    (in)WSCushort h | コピー元領域の縦幅
    (in)short dx | コピー先Ｘ座標
    (in)short dy | コピー先Ｙ座標

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル

            //newwin000 の表示内容をメモリ描画インスタンスにコピーします。
            WSDdev* dev = newwin000->getdev();
            mdev->copyFromWindow(dev,0,0,200,200,0,0);

  ### copyToWindowWithMask 関数の説明

  書式
    long copyToWindowWithMask(WSDdev* dev,short x,short y,WSCushort w,WSCushort h,short dx,short dy,WSDimage* mask)
  機能
    WSDimage で指定した白黒マスクにしたがってメモリデバイス上から ウィンドウ資源インスタンスに画像コピーする関数です。 コピー元画像のうち、マスクの白の領域に当たる部分が対象に コピーされ、黒の領域に当たる部分は対象の元の画像が そのまま残ります。
  処理
    指定された白黒画像(マスク)で、イメージがマスクされコピーされます。
  引数

    (in)WSDdev* dev | ウィンドウシステム資源インスタンス
    (in)short x | コピー元Ｘ座標
    (in)short y | コピー元Ｙ座標
    (in)WSCushort w | コピー元領域の横幅
    (in)WSCushort h | コピー元領域の縦幅
    (in)short dx | コピー先Ｘ座標
    (in)short dy | コピー先Ｙ座標
    (in)WSDimage* mask | マスク画像

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル

            //メモリ描画インスタンス mdev の内容を mask.jpg でマスクして
            //newwin000 上にコピーします。
            WSDdev* dev = newwin000->getdev();
            WSDimage* mask = WSGIappImageSet()->getImage("mask.jpg");
            mdev->copyFromWindowWithMask(dev,0,0,200,200,0,0,mask);

  ### copyToWindowWithMask 関数の説明

  書式
    long copyToWindowWithMask(WSDdev* dev,short x,short y,WSCushort w,WSCushort h,short dx,short dy,WSDmwindowDev* mask)
  機能
    メモリデバイス上の白黒マスクに従ってメモリデバイス上から ウィンドウ資源インスタンスに画像イメージをコピーする関数です。 コピー元画像のうち、マスクの白の領域に当たる部分が 対象にコピーされ、黒の領域に当たる部分は対照の元の画像が そのまま残ります。
  処理
    指定された白黒画像(マスク)で、イメージがマスクされコピーされます。
  引数

    (in)WSDdev* dev | ウィンドウシステム資源インスタンス
    (in)short x | コピー元Ｘ座標
    (in)short y | コピー元Ｙ座標
    (in)WSCushort w | コピー元領域の横幅
    (in)WSCushort h | コピー元領域の縦幅
    (in)short dx | コピー先Ｘ座標
    (in)short dy | コピー先Ｙ座標
    (in)WSDmwindowDev* mask | マスク画像

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル

            //メモリ描画インスタンス mdev の内容を
            //メモリ描画インスタンス mdev2 でマスクしてnewwin000 上にコピーします。
            WSDdev* dev = newwin000->getdev();
            mdev->copyFromWindowWithMask(dev,0,0,200,200,0,0,mdev2);

  ### initBuffer 関数の説明

  書式
    long initBuffer()
  機能
    メモリデバイス上に画像をRGB値で操作力可能なバッファを 割り当て、 メモリデバイス上の画像イメージをそのバッファにコピーします。
  処理
  引数
    なし。
  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
    setBufferRGB()、getBufferRGB() 関数で画像データを操作する場合、 initBuffer関数を実行しておく必要があります。
  サンプル
    copyToWindow() を参照してください。

  ### setBufferRGB 関数の説明

  書式
    long setBufferRGB(WSCushort x,WSCushort y,WSCuchar r,WSCuchar g,WSCuchar b);
  機能
    指定された座標のドットに指定されたRGB 値を設定する関数です。 この関数を使用する場合は、事前に initBuffer()を 呼び出してバッファを割り当てておく必要があります。
  処理
  引数

    (in)WSCushort x | Ｘ座標
    (in)WSCushort y | Ｙ座標
    (in)WSCuchar r | 赤
    (in)WSCuchar g | 緑
    (in)WSCuchar b | 青

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル
    copyToWindow() を参照してください。

  ### getBufferRGB 関数の説明

  書式
    long getBufferRGB(WSCushort x,WSCushort y,WSCuchar* r,WSCuchar* g,WSCuchar* b);
  機能
    指定された座標のドットの指定されたRGB 値を取得する関数です。 この関数を使用する場合は、事前に iniBuffer()を 呼び出してバッファを割り当てておく必要があります。
  処理
  引数

    (in)WSCushort x | Ｘ座標
    (in)WSCushort y | Ｙ座標
    (out)WSCuchar* r | 赤の取得
    (out)WSCuchar* g | 緑の取得
    (out)WSCuchar* b | 青の取得

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル
    copyToWindow() を参照してください。

  ### putBufferToPixmap 関数の説明

  書式
    long putBufferToPixmap()
  機能
    バッファの内容をメモリデバイス上の画像領域(Pixmap)へ 反映する関数です。
  処理
  引数
    なし。
  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル
    copyToWindow() を参照してください。

  ### loadFile 関数の説明

  書式
    long loadFile(char* filename)
  機能
    指定されたファイル名の画像ファイルを読み込みます。
  処理
  引数

    (in)char* filename | 画像ファイル名称

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル
    PNG 型式の sample.png 画像ファイルを読み込み、 その内容をJPG 型式の sample.jpg 画像ファイルに保存します。

        #include <WSCcolorSet.h>
        #include <WSCimageSet.h>
        #include <WSCmainWindow.h>
        extern WSCmainWindow* newwin000;

        #include <WSDmwindowDev.h>
        WSDmwindowDev* mdev = NULL;

        void btnep(WSCbase* object){
          if (mdev == NULL){
            mdev = WSDmwindowDev::getNewInstance();
          }
          mdev->loadFile("sample.png");
          mdev->saveFile("sample.jpg",WS_IMAGE_JPG);
        }
        static WSCfunctionRegister  op("btnep",(void*)btnep);

  ### saveFile 関数の説明

  書式
    long saveFile(char* filename,long type)
  機能
    メモリデバイス上に保持されている画像の内容を指定された ファイルに保存します。
  処理
  引数

    (in)char* filename | 画像ファイル名称
    (in)long type | 画像型式

    画像型式には、次の値が指定できます。

    WS_IMAGE_JPEG | JPEG型式
    WS_IMAGE_PNG | PNG型式
    WS_IMAGE_BMP | BMP型式
    WS_IMAGE_XPM | XPM型式

  返値
    WS_NO_ERR= 正常、それ以外はエラー。
  注意
  サンプル
    loadFile() を参照してください。

  Document Release 3.70
  For Use with Wide Studio Release 3.70, Spring 2004

  WideStudio Home | Up to

  Copyright(C) WideStudio Development Team, 1999-2004 |  | Last modified: May. 25, 2004