Page 1 of 2
a TBitmap behind of a TBitmap?
Posted: Fri Mar 07, 2008 12:20 am
by JC
How do put a object TBitmap on top of another. And the first be transparent... without it being shown the "square" of the object?
Something like a overlap effect with transparency!!
Posted: Fri Mar 07, 2008 5:35 am
by Otto
bmponbmp.prg from the FIVEWIN samples
#include "FiveWin.ch"
FUNC main()
local oWnd, oBmp, oBmp1, hBitmap
DEFINE WINDOW oWnd TITLE "Bitmap on a bitmap"
hBitmap := ReadBitmap( 0, "..\bitmaps\book.bmp" )
@ 1, 1 BITMAP oBmp FILENAME "..\bitmaps\magic.bmp" OF oWnd
oBmp:bPainted = { || PaintTransparent( oBmp:hDC, hBitmap ),;
SetBkMode( oBmp:hDC, 1 ),;
SetTextColor( oBmp:hDC, CLR_YELLOW ),;
TextOut( oBmp:hDC, 5, 5, "Hello" ) }
ACTIVATE WINDOW oWnd
DeleteObject( hBitmap )
RETURN NIL
function PaintTransparent( hDC, hBitmap )
local hBmpOld := SelectObject( hDC, hBitmap )
local nZeroZeroClr := GetPixel( hDC, 0, 0 )
local nOldClr
SelectObject( hDC, hBmpOld )
nOldClr = SetBkColor( hDC, nRGB( 255, 255, 255 ) )
TransBmp( hBitmap, nBmpWidth( hBitmap ), nBmpHeight( hBitmap ),;
nZeroZeroClr, hDC, 10, 20, nBmpWidth( hBitmap ), nBmpHeight( hBitmap ) )
SetBkColor( hDC, nOldClr )
return nil
Posted: Fri Mar 07, 2008 12:38 pm
by JC
Otto...
the function TransBmp() not exists in my source!!
Posted: Fri Mar 07, 2008 12:59 pm
by JC
How I can make the background of image of "theater masks" transparent?
Posted: Fri Mar 07, 2008 1:45 pm
by Antonio Linares
Julio,
You need to use TransBmp(). It is included in FWH.
What FWH version are you using ?
Posted: Fri Mar 07, 2008 1:49 pm
by JC
Antonio Linares wrote:Julio,
You need to use TransBmp(). It is included in FWH.
What FWH version are you using ?
Hi Linares... my version of fivewin is 2.26
I don't found this function there!
Posted: Fri Mar 07, 2008 1:52 pm
by Antonio Linares
Julio,
You need to upgrade FWH
Posted: Fri Mar 07, 2008 2:25 pm
by RAMESHBABU
Mr.Julio,
Try this code.
Code: Select all
FUNCTION PaintBmp(oDlg, cFileRes, nRow, nCol)
LOCAL aBmpPal, hBitmap
IF FILE(cFileRes)
* This Code is for reading bitmap file from disk file
aBmpPal = PalBmpRead(oDlg:hDC, cFileRes )
ELSE
* This Code is for reading bitmap file resource
aBmpPal = PalBmpLoad( cFileRes )
ENDIF
hBitmap = aBmpPal[ 1 ]
DrawMasked( oDlg:hDC, hBitmap, nRow, nCol )
RETURN nil
and you will get the desired effect
Regards,
- Ramesh Babu P
Posted: Fri Mar 07, 2008 3:35 pm
by Silvio
Dear jc,
You need My TTitleBar class but it is a beta class perhaps I send it to antonio at the end of the next week
Posted: Fri Mar 07, 2008 3:48 pm
by JC
Silvio... please, send to me too the class!
Ramesh, I have try!
Posted: Fri Mar 07, 2008 3:53 pm
by JC
RAMESHBABU wrote:Mr.Julio,
Try this code.
Code: Select all
FUNCTION PaintBmp(oDlg, cFileRes, nRow, nCol)
LOCAL aBmpPal, hBitmap
IF FILE(cFileRes)
* This Code is for reading bitmap file from disk file
aBmpPal = PalBmpRead(oDlg:hDC, cFileRes )
ELSE
* This Code is for reading bitmap file resource
aBmpPal = PalBmpLoad( cFileRes )
ENDIF
hBitmap = aBmpPal[ 1 ]
DrawMasked( oDlg:hDC, hBitmap, nRow, nCol )
RETURN nil
and you will get the desired effect
Regards,
- Ramesh Babu P
Ramesh, thanks for your help but, not works!
Posted: Sat Mar 08, 2008 4:38 pm
by RAMESHBABU
Mr.Julio,
How did you paint the Title Bar ?. It is through any gradiation function or
a bitmap?
Can you post your code here for the dialog shown. I will try to solve it.
This is resulted output using the above function posted by me.
The dialog background is painted using gradition function (not a bitmap)
and the title bar is a bitmap and the picture painted on the titlebar bitmap
is a bitmap.
- Ramesh Babu P
Posted: Sun Mar 09, 2008 6:00 pm
by mmercado
Hi Julio:
Why don't you try with TSButton ?, it's very simple...
Here using the same fwh sample with a dialog
Code: Select all
#include "FiveWin.ch"
#include "TsButton.ch"
FUNC main()
local oWnd, oBmp, oBmp1, hBitmap
DEFINE DIALOG oWnd TITLE "Bitmap on a bitmap" COLOR CLR_BLACK, CLR_CYAN
setbkmode( ownd:hdc, 1 )
@ 1, 1 BITMAP oBmp FILENAME "..\bitmaps\magic1.bmp" OF oWnd NOBORDER TRANSPARENT
@20,10 SBUTTON OF oWnd FILENAME "..\bitmaps\book.bmp" SIZE 10, 20 PIXEL BITMAP
ACTIVATE DIALOG oWnd
DeleteObject( hBitmap )
RETURN NIL
Regards
Manuel Mercado
Posted: Mon Mar 10, 2008 11:58 am
by JC
Antonio Linares wrote:Julio,
You need to upgrade FWH
Linares, sorry but I informed to you a wrong version of my fivewin... really, the version is 2.6 of 2005.
But, I still doesn't have a transbmp function
Posted: Mon Mar 10, 2008 12:01 pm
by JC
mmercado wrote:Hi Julio:
Why don't you try with TSButton ?, it's very simple...
Here using the same fwh sample with a dialog
Code: Select all
#include "FiveWin.ch"
#include "TsButton.ch"
FUNC main()
local oWnd, oBmp, oBmp1, hBitmap
DEFINE DIALOG oWnd TITLE "Bitmap on a bitmap" COLOR CLR_BLACK, CLR_CYAN
setbkmode( ownd:hdc, 1 )
@ 1, 1 BITMAP oBmp FILENAME "..\bitmaps\magic1.bmp" OF oWnd NOBORDER TRANSPARENT
@20,10 SBUTTON OF oWnd FILENAME "..\bitmaps\book.bmp" SIZE 10, 20 PIXEL BITMAP
ACTIVATE DIALOG oWnd
DeleteObject( hBitmap )
RETURN NIL
Regards
Manuel Mercado
Hello Manuel Mercado...
Really, I don't understand you about the TsButton... I want other thing! the image of "theater masks" stay transparent, for the background appear! More less this!