 | | WideStudio/MWT Class Reference
| |
クラスの型
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 | コピー元X座標 |
(in)short y | コピー元Y座標 |
(in)WSCushort w | コピー元領域の横幅 |
(in)WSCushort h | コピー元領域の縦幅 |
(in)short dx | コピー先X座標 |
(in)short dy | コピー先Y座標 |
- 返値
- 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 | コピー元X座標 |
(in)short y | コピー元Y座標 |
(in)WSCushort w | コピー元領域の横幅 |
(in)WSCushort h | コピー元領域の縦幅 |
(in)short dx | コピー先X座標 |
(in)short dy | コピー先Y座標 |
- 返値
- 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 | コピー元X座標 |
(in)short y | コピー元Y座標 |
(in)WSCushort w | コピー元領域の横幅 |
(in)WSCushort h | コピー元領域の縦幅 |
(in)short dx | コピー先X座標 |
(in)short dy | コピー先Y座標 |
(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 | コピー元X座標 |
(in)short y | コピー元Y座標 |
(in)WSCushort w | コピー元領域の横幅 |
(in)WSCushort h | コピー元領域の縦幅 |
(in)short dx | コピー先X座標 |
(in)short dy | コピー先Y座標 |
(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 | X座標 |
(in)WSCushort y | 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 | X座標 |
(in)WSCushort y | 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.90 For Use with WideStudio/MWT Release 3.90, Summer 2005 WideStudio/MWT Home | Up to Copyright(C) WideStudio/MWT Development Team, 1999-2005 | | Last modified: June 25, 2005 | |