FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Bugs in TGgiplus
Posts: 1048
Joined: Mon Oct 24, 2005 09:54 AM
Bugs in TGgiplus
Posted: Wed Feb 24, 2016 12:27 PM
Code (fw): Select all Collapse
METHOD New( cFile , cResname ) CLASS GDIBmp
.
.
聽IF 聽FindResource( GetResources(), cResName , 2 ) 聽!= 0
聽 聽 聽 聽 聽 聽 聽aBmpPal 聽 聽= PalBmpLoad( cResName )
聽 聽 聽 聽 聽 聽 聽// if len(aBmpPal) = 0 聽 聽 聽 -> this line is wrong!! 聽 
聽 聽 聽 聽 聽 聽 聽if len(aBmpPal) > 1
聽 聽 聽 聽 聽 聽 聽 ::hBmp = GdiPlusCreateImageFromRes( aBmpPal[ 1 ], aBmpPal[ 2 ] )
聽 聽 聽 聽 聽 聽 聽else
聽 聽 聽 聽 聽 聽 聽 msginfo( "Recurso no encontrado" )
聽 聽 聽 聽 聽 聽 聽endif
聽 聽 聽 聽 聽else
.
.


In declaration and in code:
Code (fw): Select all Collapse
//METHOD DrawImage( oBmp,nTop,nleft, nWidth, nHeight ) -> wrong
聽 聽METHOD DrawImage( oBmp,nLeft,nTop, nWidth, nHeight )
Regards,
G眉nther
---------------------------------
office@byte-one.com
Posts: 1048
Joined: Mon Oct 24, 2005 09:54 AM
Re: Bugs in TGgiplus
Posted: Sat Feb 27, 2016 07:59 PM

Have anyone see this? (programmer from tgdi-class)

Regards,
G眉nther
---------------------------------
office@byte-one.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Bugs in TGgiplus
Posted: Sat Feb 27, 2016 08:38 PM

G眉nther,

is it working fine for you with your changes ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Bugs in TGgiplus
Posted: Sat Feb 27, 2016 08:45 PM

It is included for the next version

Thanks

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1048
Joined: Mon Oct 24, 2005 09:54 AM
Re: Bugs in TGgiplus
Posted: Sat Feb 27, 2016 09:42 PM

Thanks all!

Regards,
G眉nther
---------------------------------
office@byte-one.com
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 12:23 PM

Strange i use fwh gen release and i use drawimage on my slotmachine application and it seems run ok
perhaphs i change it but i not remember

Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 12:43 PM

In case there will be changes

a image is displayed normally from TOP, LEFT but in GDI+ reverse -> LEFT, TOP
As well maybe checking out why deleted on RESIZE ( happens on BUTTONACTION ) ?.

best regards
Uwe :?:

Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 12:48 PM

Mr Antonio and Mr Cristobal

I suggest we may follow standard FWH convention of nTop, nLeft ... etc

Regards



G. N. Rao.

Hyderabad, India
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 03:25 PM
nageswaragunupudi wrote:Mr Antonio and Mr Cristobal

I suggest we may follow standard FWH convention of nTop, nLeft ... etc


Mr Rao, these are the change updated

Code (fw): Select all Collapse
聽//----------------------------------------------------------------------------//
聽
METHOD DrawImage( oImage, nTop, nLeft, nWidth, nHeight ) CLASS Graphics
聽
- if Empty(nWidth ) .or. Empty( nHeight )
- 聽 聽GdiPlusDrawImage( ::hGraphics, oImage:hBmp, nTop, nLeft )
- else
- 聽 聽GdiPlusDrawImage( 聽::hGraphics, oImage:hBmp,nTop,nLeft, nWidth, nHeight )
-endif

+ 聽if Empty( nWidth ) .or. Empty( nHeight )
+ 聽 聽 GdiPlusDrawImage( ::hGraphics, oImage:hBmp, nLeft, nTop )
+ 聽else
+ 聽 聽 GdiPlusDrawImage( 聽::hGraphics, oImage:hBmp, nLeft, nTop, nWidth, nHeight )
+ 聽endif
聽
聽Return nil


an this is function GdiPlusDrawImage

Code (fw): Select all Collapse
HB_FUNC( GDIPLUSDRAWIMAGE )
{

.../...

聽 聽switch (iParams){

聽 聽 case 4:
聽 聽 聽 nLeft = hb_parni( 3 );
聽 聽 聽 nTop = hb_parni( 4 );

聽 聽 graphics->DrawImage( newImage, nLeft, nTop );

聽 聽case 6:
聽 聽 聽nLeft = hb_parni( 3 );
聽 聽 聽nTop = hb_parni( 4 );
聽 聽 聽nWidth = 聽hb_parni( 5 );
聽 聽 聽nHeight = hb_parni( 6 );

聽 聽 graphics->DrawImage( newImage, nLeft, nTop, nWidth, nHeight ); 聽//Rect object whose x-coordinate, y-coordinate, width, and height

聽 }

}
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 05:44 PM
I created a little testtool to add multiple images.

there is a problem :
1. Image added ON PAINT
2. and 3. image added on button-action
changing the background, only the image painted with button 2 stays visible.
The transparent-painting is OK.
is there a possible solution to keep ALL images visible ?
The same happens on RESIZE

DOWNLOAD
http://www.pflegeplus.com/DOWNLOADS/Gdiplus3.zip



best regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 07:21 PM
Uwe, try this
I do not know if I understand your problem

Code (fw): Select all Collapse
#include "FiveWin.ch"
#include "constant.ch"

Static c_Path
Static c_Path1 

Function Main()

聽 聽local oWnd
聽 聽local oBtn[10]
聽 聽local oTextFont
聽 聽local cImage 聽 聽:= "Logo.png"
聽 聽local nLeft 聽 聽 := 10
聽 聽local nTop 聽 聽 聽:= 10
聽 聽local oBmp
聽 聽local oImg1
聽 聽local oImg2
聽 聽local oImg3
聽 聽local lIni 聽 聽 聽:= .T.

聽 聽c_Path 聽:= cFilePath(GetModuleFileName( GetInstance() ) )
聽 聽c_Path1 := c_Path + "IMAGES\"

聽 聽DEFINE IMAGE oBmp FILENAME c_path1 + "Back.png"

聽 聽oTextFont := TFont():New( "Arial", 0, 20,.F.,.F., 聽0, 聽0, 聽0,.F.,.F.)

聽 聽DEFINE WINDOW oWnd 聽FROM 10, 10 TO 700, 900 TITLE "GDI+ TEST" PIXEL // ;
聽 聽 聽 // STYLE WS_POPUP BRUSH oBrush1
聽 聽oWnd:bRClicked := {|| oWnd:End() }

聽 聽@ oWnd:nHeight - 100, oWnd:nWidth - 370 BTNBMP oBtn[1] SIZE 100, 50 OF oWnd 聽2007 ;
聽 聽 聽 FILENAME c_path1 + "Paint.bmp" ;
聽 聽 聽 LEFT ;
聽 聽 聽 PROMPT "&Paint 1" ;
聽 聽 聽 FONT oTextFont ;
聽 聽 聽 ACTION ( cImage := "Logo.png", ; //nLeft := 500, nTop := 10, ;
聽 聽 聽 聽 聽 聽 聽 聽oImg1 聽:= DRAWIMAGE(oWnd, cImage, 500, 10 ) )
聽 聽 聽 oBtn[1]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; 
聽 聽 聽 聽 { { 0.5, 10526975, 16777215 }, ;
聽 聽 聽 聽 聽 { 0.5, 16777215, 10526975 } }, ;
聽 聽 聽 聽 { { 0.5, 16768185, 16777215 }, ;
聽 聽 聽 聽 聽 聽{ 0.5, 16777215, 16768185 聽} } ) }
聽 聽 聽 oBtn[1]:nLayout := 2
聽 聽 聽 oBtn[1]:SetColor( 128 )
聽 聽 聽 oBtn[1]:cTooltip := 聽{ "Exit" + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"GDI-test","EXIT", 1, CLR_BLACK, 14089979 }

聽 聽@ oWnd:nHeight - 100, oWnd:nWidth - 260 BTNBMP oBtn[2] SIZE 100, 50 OF oWnd 聽2007 ;
聽 聽 聽 FILENAME c_path1 + "Paint.bmp" ;
聽 聽 聽 LEFT ;
聽 聽 聽 PROMPT "&Paint 2" ;
聽 聽 聽 FONT oTextFont ;
聽 聽 聽 ACTION ( cImage := "Logo.png", ; //nLeft := 250, nTop := 250, ;
聽 聽 聽 聽 聽 聽 聽 聽oImg2 聽:= DRAWIMAGE( oWnd, "Logo.png", 250, 250 ) )
聽 聽 聽 oBtn[2]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; 
聽 聽 聽 聽 { { 0.5, 10526975, 16777215 }, ;
聽 聽 聽 聽 聽 { 0.5, 16777215, 10526975 } }, ;
聽 聽 聽 聽 { { 0.5, 16768185, 16777215 }, ;
聽 聽 聽 聽 聽 聽{ 0.5, 16777215, 16768185 聽} } ) }
聽 聽 聽 oBtn[2]:nLayout := 2
聽 聽 聽 oBtn[2]:SetColor( 128 )
聽 聽 聽 oBtn[2]:cTooltip := 聽{ "Image 2" + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"test","TEST", 1, CLR_BLACK, 14089979 }
聽 聽 聽 
// -------------

@ oWnd:nHeight - 100, 20 BTNBMP oBtn[6] SIZE 110, 50 OF oWnd 聽2007 ;
FILENAME c_path1 + "Color.bmp" ;
LEFT ;
PROMPT "&Color" ;
FONT oTextFont ;
ACTION DRAW_BACK( oWnd, 1, 3194624 ) 
oBtn[6]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; 
聽 聽 { { 0.5, 16765863, 16777215 }, ;
聽 聽 聽 { 0.5, 16777215, 16765863 } }, ;
聽 聽 { { 0.5, 16768185, 16777215 }, ;
聽 聽 聽 聽{ 0.5, 16777215, 16768185 聽} } ) }
oBtn[6]:nLayout := 2
oBtn[6]:SetColor( 128 )
oBtn[6]:cTooltip := 聽{ "use color" + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Background","COLOR", 1, CLR_BLACK, 14089979 }

@ oWnd:nHeight - 100, 135 BTNBMP oBtn[7] SIZE 110, 50 OF oWnd 聽2007 ;
FILENAME c_path1 + "Gradient.bmp" ;
LEFT ;
PROMPT "&Gradient" ;
FONT oTextFont ;
ACTION DRAW_BACK( oWnd, 2, 16762767, 16773088, .T., 0.5 ) 
oBtn[7]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; 
聽 聽 { { 0.5, 16765863, 16777215 }, ;
聽 聽 聽 { 0.5, 16777215, 16765863 } }, ;
聽 聽 { { 0.5, 16768185, 16777215 }, ;
聽 聽 聽 聽{ 0.5, 16777215, 16768185 聽} } ) }
oBtn[7]:nLayout := 2
oBtn[7]:SetColor( 128 )
oBtn[7]:cTooltip := 聽{ "use Gradient" + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Background","GRADIENT", 1, CLR_BLACK, 14089979 }

@ oWnd:nHeight - 100, 250 BTNBMP oBtn[8] SIZE 110, 50 OF oWnd 聽2007 ;
FILENAME c_path1 + "Brush.bmp" ;
LEFT ;
PROMPT "&Brush" ;
FONT oTextFont ;
ACTION DRAW_BACK( oWnd, 3, , , , , "Brush.bmp" ) 
oBtn[8]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; 
聽 聽 { { 0.5, 16765863, 16777215 }, ;
聽 聽 聽 { 0.5, 16777215, 16765863 } }, ;
聽 聽 { { 0.5, 16768185, 16777215 }, ;
聽 聽 聽 聽{ 0.5, 16777215, 16768185 聽} } ) }
oBtn[8]:nLayout := 2
oBtn[8]:SetColor( 128 )
oBtn[8]:cTooltip := 聽{ "use Brush" + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Background","BRUSH", 1, CLR_BLACK, 14089979 }


@ oWnd:nHeight - 100, 365 BTNBMP oBtn[9] SIZE 110, 50 OF oWnd 聽2007 ;
FILENAME c_path1 + "Image.bmp" ;
LEFT ;
PROMPT "&Image" ;
FONT oTextFont ;
ACTION DRAW_BACK( oWnd, 4, , , , , ,"Backgrd.jpg" ) 
oBtn[9]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; 
聽 聽 { { 0.5, 16765863, 16777215 }, ;
聽 聽 聽 { 0.5, 16777215, 16765863 } }, ;
聽 聽 { { 0.5, 16768185, 16777215 }, ;
聽 聽 聽 聽{ 0.5, 16777215, 16768185 聽} } ) }
oBtn[9]:nLayout := 2
oBtn[9]:SetColor( 128 )
oBtn[9]:cTooltip := 聽{ "use Image" + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Background","IMAGE", 1, CLR_BLACK, 14089979 }


@ oWnd:nHeight - 100, oWnd:nWidth - 150 BTNBMP oBtn[10] SIZE 100, 50 OF oWnd 聽2007 ;
FILENAME c_path1 + "Exit.bmp" ;
LEFT ;
PROMPT "&Exit" ;
FONT oTextFont ;
ACTION oWnd:End() 
oBtn[10]:bClrGrad = { | lMouseOver | If( ! lMouseOver,; 
聽 聽 { { 0.5, 10526975, 16777215 }, ;
聽 聽 聽 { 0.5, 16777215, 10526975 } }, ;
聽 聽 { { 0.5, 16768185, 16777215 }, ;
聽 聽 聽 聽{ 0.5, 16777215, 16768185 聽} } ) }
oBtn[10]:nLayout := 2
oBtn[10]:SetColor( 128 )
oBtn[10]:cTooltip := 聽{ "Exit" + CRLF + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "GDI-test","EXIT", 1, CLR_BLACK, 14089979 }

//oWnd:bPainted := {|| DRAWIMAGE(oWnd, cImage, nLeft, nTop ) }

ACTIVATE WINDOW oWnd CENTER ; 
ON INIT ( oImg3 := DRAWIMAGE( oWnd, cImage, nLeft, nTop ) ) ;
ON PAINT ( ABPaint( oWnd:hDC, 30, 30, oBmp:hBitmap, 255 ), ;
聽 聽 聽 聽 聽 聽if( !lIni, ( DrawImage( oWnd, oImg1, 500, 10 ),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 DrawImage( oWnd, oImg2, 250, 250 ),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 DrawImage( oWnd, oImg3, nLeft, nTop ) ), lIni := .F. ) ) //; 聽 聽 聽 聽 聽 
oTextFont:End()

RETURN NIL 

// -------------

FUNCTION DRAWIMAGE( oWnd, cImage, nLeft, nTop )
聽 聽
聽 聽local hDC 聽 聽 聽 := oWnd:GetDc()
聽 聽local cNew
聽 聽local oGraphics := Graphics():New( oWnd:hDC ) 
聽 聽local oImage
聽 聽if Valtype( cImage ) = "C"
聽 聽 聽 cNew 聽 聽 聽:= c_Path1 + cImage
聽 聽 聽 oImage 聽 聽:= GDIBmp():New( cNew ) 聽
聽 聽else
聽 聽 聽 oImage 聽 聽:= cImage
聽 聽endif
聽 聽if !Empty( oImage )
聽 聽 聽 oGraphics:DrawImage( oImage, nTop, nLeft 聽) //, nTop )
聽 聽 聽 oGraphics:Destroy()
聽 聽endif
聽 聽oWnd:ReleaseDc() 

Return oImage

// -------- 聽Background ---------------

FUNCTION DRAW_BACK( oWnd, nStyle, nColor1, nColor2, lDirect, nMove, cBrush, cImage ) 

聽 聽local hDC
聽 聽local oBrush
聽 聽local oImage
聽 聽local aGrad
聽 聽local aRect 聽 := GETCLIENTRECT( oWnd:hWnd ) 
聽 聽local hBmp
聽 聽local hBmpOld

聽 聽IF nStyle = 1 // COLOR
聽 聽聽DEFINE BRUSH oBrush COLOR nColor1
聽 聽ENDIF
聽 聽IF nStyle = 2 // GRADIENT
聽 聽聽aGrad := { { nMove, nColor1, nColor2 }, { nMove, nColor2, nColor1 } }
聽 聽聽hDC = CreateCompatibleDC( oWnd:GetDC() )
聽 聽聽hBmp = CreateCompatibleBitMap( oWnd:hDC, aRect[4], aRect[3] )
聽 聽聽hBmpOld = SelectObject( hDC, hBmp )
聽 聽聽GradientFill( hDC, 0, 0, aRect[3], aRect[4], aGrad, lDirect )
聽 聽聽oBrush := TBrush():New( ,,,, hBmp )
聽 聽聽oBrush:Cargo 聽:= aGrad
聽 聽聽SelectObject( hDC, hBmpOld )
聽 聽聽ReleaseDC(hDC)
聽 聽ENDIF
聽 聽IF nStyle = 3 // BMP-BRUSH
聽 聽聽IF FILE( c_path1 + cBrush ) 
聽 聽聽聽 聽 DEFINE BRUSH oBrush FILE c_path1 + cBrush
聽 聽聽ELSE
聽 聽聽聽 聽 IF !EMPTY(cImage)
聽 聽聽聽 聽 聽 聽 MsgAlert( "File : " + cBrush + CRLF + ;
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 "does not exist" + CRLF + ; 
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "to create Background !", "ATTENTION" ) 
聽 聽聽聽 聽 ENDIF
聽 聽聽ENDIF
聽 聽ENDIF
聽 聽IF nStyle = 4 // Image ADJUSTED
聽 聽聽IF FILE( c_path1 + cImage ) 
聽 聽聽聽 聽 DEFINE IMAGE oImage FILE c_path1 + cImage
聽 聽聽聽 聽 oBrush := TBrush():new( ,,,, ResizeBmp( oImage:hBitmap, aRect[4], aRect[3], .T. ) ) 
聽 聽聽聽 聽 oImage:End()
聽 聽聽ELSE
聽 聽聽聽 聽 IF !EMPTY(cImage)
聽 聽聽聽 聽 聽 聽 MsgAlert( "File 聽: " + cImage + CRLF + ;
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"does not exist" + CRLF + ; 
聽 聽聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"to create Background !", "ATTENTION" ) 
聽 聽聽聽 聽 ENDIF
聽 聽聽ENDIF
聽 聽ENDIF
聽 聽oWnd:Setbrush( oBrush )
聽 聽oBrush:End()
聽 聽
RETURN( NIL)


Please, change for your test

Code (fw): Select all Collapse
      oGraphics:DrawImage( oImage, nTop, nLeft  ) //, nTop )


with

Code (fw): Select all Collapse
      oGraphics:DrawImage( oImage, nLeft, nTop )
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 08:08 PM

Cristobal,

it comes close to the solution I'm looking for.
Windows-resize and multiple image-painting is working now.
Still I have to do some finetuning and I will add a new Download-link

thank You very much

best regards
Uwe :D

Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 08:14 PM

I'm working on making a proportional resize the images to resize we do in Windows, but so far without success

Regards

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 08:25 PM
ukoenig wrote:Cristobal,

it comes close to the solution I'm looking for.
Windows-resize and multiple image-painting is working now.
Still I have to do some finetuning and I will add a new Download-link

thank You very much

best regards
Uwe :-)


Please, modify my code, add clausule VALID ( End objects )

Code (fw): Select all Collapse
聽 聽ACTIVATE WINDOW oWnd CENTER ; 
聽 聽 聽 ON INIT ( oImg3 := DrawImage( oWnd, cImage, nLeft, nTop ) ) ;
聽 聽 聽 ON PAINT ( ABPaint( oWnd:hDC, 30, 30, oBmp:hBitmap, 255 ), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽if( !lIni, ( DrawImage( oWnd, oImg1, 500, 10 ),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 DrawImage( oWnd, oImg2, 250, 250 ),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 DrawImage( oWnd, oImg3, nLeft, nTop ) ), lIni := .F. ) ) ;
聽聽 聽 聽VALID ( if( !Empty( oImg1 ), oImg1:End(), ), ;
聽 聽 聽 聽 聽 聽 聽 if( !Empty( oImg2 ), oImg2:End(), ), ;
聽 聽 聽 聽 聽 聽 聽 if( !Empty( oImg3 ), oImg3:End(), ), ;
聽 聽 聽 聽 聽 聽 聽 .T. )
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: Bugs in TGgiplus
Posted: Sun Feb 28, 2016 11:38 PM
Christobal,

I completed the TESTTOOL
Now RESIZE and BACKGROUND-change works perfect.
Tomorrow I will add a new DOWNLOAD



Thank You very much for Your help

best regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.