LDialogImageEffect::DoModalPunch

Summary

Displays the Punch dialog box, and gets the options for LBitmap::Punch.

Syntax

#include "ltwrappr.h"

virtual L_INT LDialogImageEffect::DoModalPunch(hWndOwner)

Parameters

HWND hWndOwner

Handle of the window which owns the dialog.

Returns

Value Meaning
SUCCESS_DLG_OK The "OK" button was pressed, and the dialog exited successfully.
SUCCESS_DLG_CANCEL The "Cancel" button was pressed, and the dialog exited successfully.
< 1 An error occurred. Refer to Return Codes.

Comments

LDialogImageEffect::SetPunchParams must be called before using this function to set the initial values for the dialog. You can get the updated PUNCHDLGPARAMS with the values entered by the user through the dialog by using LDialogImageEffect::GetPunchParams.

The Punch dialog.

This dialog has the following fields:

image\BeforeAfterZoomToFit.gif
**Zoom to fit**

Use this button to fit entire preview images on both the Before and After views.

image\BeforeAfterZoomToNormal.gif
**Zoom to Normal**

Use this button to view images with normal scale on both the Before and After views.

Before View

This view shows the original image before the dialog applies any changes to it.

This view can be dragged when it is not in Zoom to Fit zoom mode. Place the mouse cursor over the view window (the cursor will change to a hand), then click and drag.

After View

This view shows the original image with the dialog changes applied. This enables the user to see a preview of what the image should look like when the changes are applied.

The view can be dragged when it is not in Zoom to Fit zoom mode. Place the mouse cursor over the view window (the cursor will change to a hand), then click and drag.

Value Edit box and Slider:

Use the Value edit box or slider to set the amount of stretching to apply. Positive values pinch the image toward its center, and negative values expand the image away from its center.

Stress Edit box and Slider:

Use the stress edit box or slider to set the pinching intensity. This edit box is only available if a positive number is entered in the Value edit box.

Exposed Area Group

This section contains a drop-down list box and a button for specifying how to fill any exposed areas. Available values are:

Rotate Check box:

Check this to rotate the image inside the pinch pattern. It is available only if the Value edit box contains a negative value.

image\Icon_Pivot.gif
**Pivot Section:**

This section contains two edit boxes and a display area for setting the pivot point. You can also set the pivot point by right clicking on the Before view. The Pivot point

image\Icon_Pivot.gif
appears on the point you just clicked.

X Edit box:

Use this to set the pivot's x-axis position in the image. Enter the value directly in the edit box or use the arrows to set the desired value.

Y Edit box:

Use this to set the pivot's y-axis position in the image. Enter the value directly in the edit box or use the arrows to set the desired value.

Cursor Pos (x,y)

Displays the mouse position with respect to the image.

Center Button:

Use the Center button to center the Before and After views with respect to

image\Icon_Pivot.gif
the pivot point position.

OK

Use the OK button to close the dialog and apply the changes.

Cancel

Use the Cancel button to close the dialog and discard the changes.

Progress Bar

image\BeforeAfterProgressBar.gif

Located at the bottom of the dialog, this progress bar shows the percentage of the current dialog operation that has been completed.

Required DLLs and Libraries

See Also

Functions

Topics

Example

L_INT LDialogImageEffect_DoModalPunchExample(LBitmap * pBitmap, HWND hWnd) 
{ 
   L_INT nRet; 
 
   LDialogImageEffect DlgImageEffect; 
 
   nRet = LDialogImageEffect::Initialize(DLG_INIT_COLOR ); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   DlgImageEffect.SetBitmap(pBitmap); 
 
   PUNCHDLGPARAMS DlgParams;  
 
   memset ( &DlgParams, 0, sizeof ( PUNCHDLGPARAMS ) ); 
 
   DlgParams.uStructSize      = sizeof ( PUNCHDLGPARAMS ); 
 
   DlgImageEffect.EnableCallBack (FALSE); 
   DlgImageEffect.EnablePreview(TRUE); 
   DlgImageEffect.EnableAutoProcess(TRUE); 
   DlgImageEffect.EnableToolbar(TRUE); 
 
   nRet = DlgImageEffect.SetPunchParams(&DlgParams); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   nRet = DlgImageEffect.DoModalPunch(hWnd); 
   if(nRet < 1) 
      return nRet; 
 
   // Gets the updated values for the structure 
   nRet = DlgImageEffect.GetPunchParams(&DlgParams, sizeof(DlgParams)); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   nRet = LDialogImageEffect::Free(); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   return SUCCESS; 
}  
Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Common Dialog C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.