# include“l_bitmap.h”
L_LTDLG_APIL_INTL_DlgCanvasResize (hWndOwner pDlgParams)
显示“画布调整大小”对话框。
拥有对话框的窗口句柄。
指针指向一个CANVASRESIZEDLGPARAMS结构,使用用户通过对话框输入的值进行更新。在调用此函数之前,设置此结构的成员,以设置对话框的初始值。
价值 | 意义 |
---|---|
SUCCESS_DLG_OK | “OK”按钮被按下,对话框成功退出。 |
SUCCESS_DLG_CANCEL | “取消”按钮被按下,对话框成功退出。 |
< 1 | 一个错误发生。指返回代码. |
Canvas Resize对话框。
所需的dll和库
DlgCanvasResizeExample(HWND HWND,pBITMAPHANDLE pBitmap)
{
CANVASRESIZEDLGPARAMS DlgParams;
L_INT nRet;
memset (&DlgParams, 0,运算符(canvasresizedlgparams));
DlgParams。uStructSize =运算符(canvasresizedlgparams);
DlgParams。pBitmap = pBitmap;
DlgParams。uDlgFlags = DLG_CANVASRESIZE_SHOW_CURRENT_HEIGHT |
DLG_CANVASRESIZE_SHOW_CURRENT_WIDTH |
DLG_CANVASRESIZE_SHOW_HORIZPOS |
DLG_CANVASRESIZE_SHOW_VERTZPOS |
DLG_CANVASRESIZE_SHOW_BACKCOLOR |
DLG_CANVASRESIZE_SHOW_KEEPASPECT;
DlgParams。nCurrentWidth = BITMAPWIDTH (pBitmap);
DlgParams。nCurrentHeight = BITMAPHEIGHT (pBitmap);
DlgParams。crBkgnd = RGB (255, 255, 255);
DLG_INIT_COLOR = L_DlgInit;
如果(nRet != SUCCESS && nRet != error_dlg_alreadyinitialized)
返回nRet;
L_DlgCanvasResize (hWnd, &DlgParams);
L_DlgFree ();
如果(SUCCESS_DLG_OK == nRet)
{
BITMAPHANDLE BitmapTemp;
nRet = L_CreateBitmap (&BitmapTemp,
运算符(BITMAPHANDLE),
TYPE_CONV,
DlgParams.nNewWidth,
DlgParams.nNewHeight,
pBitmap - > BitsPerPixel,
pBitmap - >订单,
空,
pBitmap - > ViewPerspective,
空,
0);
如果(nRet ! =成功)
返回nRet;
nRet = L_CombineBitmap (&BitmapTemp,
DlgParams.ptTopLeft.x,
DlgParams.ptTopLeft.y,
BITMAPWIDTH (pBitmap),
(pBitmap),
pBitmap,
0,
0,
Cb_op_and | cb_dst_1, 0);
如果(nRet ! =成功)
返回nRet;
nRet = L_CopyBitmap(pBitmap, &BitmapTemp,运算符(BITMAPHANDLE));
如果(nRet ! =成功)
返回nRet;
L_FreeBitmap(&BitmapTemp);
}
其他的如果(nRet < 1)
返回nRet;
返回成功;
}