Brush

Post Reply
oliveiros junior
Posts: 125
Joined: Tue Mar 20, 2007 3:13 pm

Brush

Post by oliveiros junior »

Good afternoon everybody,

I would like to know if it is possible to define the size of the Brush on a dialog? I saw examples here with DrawImage. However, I need to place other images over the background image. I did a test by placing a background with DrawImage and other images on top, but the images are solid and not transparent on the background.

Thank you in advance for your help.

Att.,

Oliveiros Junior
User avatar
Antonio Linares
Site Admin
Posts: 42259
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Brush

Post by Antonio Linares »

Estimado Oliveiros,

Puedes mostrar una imagen del efecto que deseas conseguir ? gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Brush

Post by karinha »

Oliveiros, usando BITMAP, não serve? Você pode por quantas quiser e com o tamanho que quiser e transparente. Já tentou? E sempre que possível, poste um exemplo da ideia que você imaginou.

¿Oliveiros, usando BITMAP, no funciona? Puedes tener tantos como quieras y del tamaño que quieras y transparentes. ¿Ya probado? Y siempre que sea posible, publica un ejemplo de la idea que se te ocurrió.

Tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Brush

Post by karinha »

Oliveiros, no exemplo do relógio, diga o que te falta? ou que você precisa. Seja mais específico na questão, pls.

https://imgur.com/M00X1LT

Image

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
oliveiros junior
Posts: 125
Joined: Tue Mar 20, 2007 3:13 pm

Re: Brush

Post by oliveiros junior »

Good morning!

I'm going to post here the two codes I made as an example (the second is used here on the forum), in the first the background image is the way I need it, taking up 3/4 of the screen, but the second image is not transparent. In the second, the image occupies the entire screen and the image becomes transparent.

Att.,

Oliveiros Junior

/*-------------------------------------------------------------------------------
Sample 1
-------------------------------------------------------------------------------*/
#include "FiveWin.ch"

*-------------------------------------------------------------------------------*
Function Main()
Local oDlg, oImagem
Local cImagem := "..\bitmaps\pngs\2.png"

DEFINE DIALOG oDlg SIZE 800, 600 ;
STYLE nOr( WS_CHILD, WS_POPUP ) ;
COLOR CLR_BLACK, CLR_BLACK TRUEPIXEL

SetDlgGradient( { { 0.7, CLR_WHITE, CLR_WHITE }, ;
{ 0.3, CLR_BLACK, CLR_BLACK }, .F. } )

@ 0, 0 BITMAP oImagem FILENAME cImagem ;
SIZE 400, 600 OF ;
oDlg PIXEL NO BORDER ADJUST

ACTIVATE WINDOW oDlg CENTERED ;
ON INIT SobreporImagem( oDlg )

Return NIL
*------------------------------------------------------------------------------*
Function SobreporImagem( oDlg )
Local oImagem
Local cImagem := "..\bitmaps\pngs\home.png"

@ 0, 0 XIMAGE oImagem FILENAME cImagem ;
SIZE 200, 200 OF ;
oDlg NO BORDER

Return NIL
*------------------------------------------------------------------------------*


/*-------------------------------------------------------------------------------
Sample 2
-------------------------------------------------------------------------------*/
#include "FiveWin.ch"

*-------------------------------------------------------------------------------*
Function Main()
Local oDlg, oBitmap
Local cImagem := "..\bitmaps\pngs\home.png"

DEFINE DIALOG oDlg SIZE 800, 600 ;
STYLE nOr( WS_CHILD, WS_POPUP ) ;
COLOR CLR_BLACK, CLR_BLACK TRUEPIXEL

SetDlgGradient( { { 0.7, CLR_BLACK, CLR_BLACK }, ;
{ 0.3, CLR_WHITE, CLR_WHITE }, .F. } )

@ 0, 0 BITMAP oBitmap FILENAME cImagem ;
SIZE 200, 200 OF ;
oDlg NO BORDER

ACTIVATE WINDOW oDlg CENTERED ;
ON INIT SobreporImagem( oDlg )

Return NIL
*------------------------------------------------------------------------------*
Function SobreporImagem( oDlg )
Local oImagem, oBrush
Local cImagem := "..\bitmaps\pngs\2.png"

DEFINE IMAGE oImagem FILENAME cImagem

oBrush := TBrush():new( ,,,, ResizeBmp( oImagem:hBitmap, 600, 600, .T. ) )
oImagem:End()

oDlg:SetBrush( oBrush )
oBrush:End()

Return NIL
*----------------------------------------------------------------------------------*
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Brush

Post by karinha »

Vamos por partes, que nem JACK o Estripador:

Code: Select all | Expand

// C:\FWH\SAMPLES\OLIVEJR3.PRG

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL oDlg, oImagem, oBrush
   LOCAL cImagem := "..\bitmaps\pngs\2.png"

   DEFINE BRUSH oBrush FILE cImagem RESIZE

   DEFINE DIALOG oDlg SIZE 800, 600 STYLE nOr( WS_CHILD, WS_POPUP ) ;
      COLOR CLR_BLACK, CLR_BLACK PIXEL TRUEPIXEL BRUSH oBrush TRANSPARENT

   ACTIVATE DIALOG oDlg CENTERED ON INIT SobreporImagem( oDlg )

   oBrush:End()

RETURN NIL

FUNCTION SobreporImagem( oDlg )

   LOCAL oImagem
   LOCAL cImagem := "..\bitmaps\pngs\home.png"

    @ 0, 0 XIMAGE oImagem FILENAME cImagem SIZE 200, 200 OF oDlg ;
      NOBORDER

   oImagem:lTransparent := .T.

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
 
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Brush

Post by karinha »

Code: Select all | Expand

// C:\FWH\SAMPLES\OLIVEJR2.PRG

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL oDlg, oImagem, oBrush
   LOCAL cImagem  := "..\bitmaps\pngs\2.png"

   SetDlgGradient( { { 1, RGB( 199, 216, 237 ), RGB( 237, 242, 248 ) } } )

   DEFINE DIALOG oDlg SIZE 800, 600 STYLE nOr( WS_CHILD, WS_POPUP ) ;
      COLOR CLR_BLACK, CLR_BLACK PIXEL TRUEPIXEL TRANSPARENT

   @ 0, 200 BITMAP oImagem FILENAME cImagem SIZE 400, 600 OF oDlg PIXEL ;
      NOBORDER ADJUST

   oImagem:lTransparent := .T.

   ACTIVATE DIALOG oDlg CENTERED ON INIT SobreporImagem( oDlg )

RETURN NIL

FUNCTION SobreporImagem( oDlg )

   LOCAL oImagem
   LOCAL cImagem := "..\bitmaps\pngs\home.png"

   @ 0, 0 XIMAGE oImagem FILENAME cImagem SIZE 200, 200 OF oDlg ;
      NOBORDER

   oImagem:lTransparent := .T.

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
 
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Brush

Post by karinha »

ESCOLHA, CHOICE:

Code: Select all | Expand

// C:\FWH\SAMPLES\OLIVEJR1.PRG

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL oDlg, oImagem, oBtn, oFont
   LOCAL cImagem  := "..\bitmaps\pngs\2.png"

   SkinButtons()

   SetDlgGradient( { { 0.7, CLR_WHITE, CLR_WHITE }, { 0.5, CLR_BLACK, CLR_BLACK }, .F. } )

   // OU:
   // SetDlgGradient( { { 1, RGB( 000, 000, 000 ), RGB( 000, 000, 000 ) } } )

   DEFINE FONT oFont NAME "Verdana" SIZE 0,-20

   DEFINE DIALOG oDlg SIZE 800, 600 STYLE nOr( WS_CHILD, WS_POPUP ) FONT oFont ;
      COLOR CLR_BLACK, CLR_BLACK PIXEL TRUEPIXEL TRANSPARENT

   @ 0, 160 BITMAP oImagem FILENAME cImagem SIZE 400, 600 OF oDlg PIXEL        ;
      NOBORDER ADJUST

   oImagem:lTransparent := .T.

   @ 500, 650 BTNBMP oBtn PROMPT "&EXIT" FILENAME "..\bitmaps\16x16\Exit.bmp"  ;
      SIZE 70, 70 OF oDlg PIXEL NOBORDER TOP 2007 FLAT FONT oFont              ;
      COLOR CLR_YELLOW, CLR_BLACK ACTION( oDlg:End() )
      
   oBtn:lCancel  := .T.
   oBtn:nRound   := 60
   oBtn:bClrGrad := { |lInvert| If( lInvert, 0x80FFA54A, nARGB( 54, 0, 192, 0 ) ) }

   ACTIVATE DIALOG oDlg CENTERED ON INIT SobreporImagem( oDlg )

   oFont:End()

RETURN NIL

FUNCTION SobreporImagem( oDlg )

   LOCAL oImagem
   LOCAL cImagem := "..\bitmaps\pngs\home.png"

   @ 0, 0 XIMAGE oImagem FILENAME cImagem SIZE 200, 200 OF oDlg ;
      NOBORDER

   oImagem:lTransparent := .T.

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
 
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Brush

Post by karinha »

Code: Select all | Expand

// C:\FWH\SAMPLES\OLIVEJR4.PRG

#include "FiveWin.ch"
#include "Image.ch"

FUNCTION Main()

   LOCAL oDlg, oBitmap, oFont, oBtn
   LOCAL cImagem := "..\bitmaps\pngs\home.png"

   SetBalloon( .T. ) // Balloon shape required for tooltips
   SkinButtons()

   // SetDlgGradient( { { 0.7, CLR_BLACK, CLR_BLACK }, { 0.3, CLR_WHITE, CLR_WHITE }, .F. } )
   SetDlgGradient( { { 0.7, CLR_WHITE, CLR_WHITE }, { 0.5, CLR_BLACK, CLR_BLACK }, .F. } )

   // OU:
   // SetDlgGradient( { { 1, RGB( 000, 000, 000 ), RGB( 000, 000, 000 ) } } )

   DEFINE FONT oFont NAME "Verdana" SIZE 0,-20

   DEFINE DIALOG oDlg SIZE 800, 600 STYLE nOr( WS_CHILD, WS_POPUP ) ;
      FONT oFont COLOR CLR_BLACK, CLR_BLACK PIXEL TRUEPIXEL TRANSPARENT

   @ 0, 0 BITMAP oBitMap FILENAME cImagem SIZE 200, 200 OF oDlg PIXEL        ;
      NOBORDER ADJUST

   oBitmap:lTransparent := .T.

   @ 500, 650 BTNBMP oBtn PROMPT "&EXIT" FILENAME "..\bitmaps\16x16\Exit.bmp"  ;
      SIZE 70, 70 OF oDlg PIXEL NOBORDER TOP 2007 FLAT FONT oFont              ;
      COLOR CLR_YELLOW, CLR_BLACK ACTION( oDlg:End() )
      
   oBtn:cToolTip := "Salida - Exit - Cancelar"

   oBtn:lCancel  := .T.
   oBtn:nRound   := 60
   oBtn:bClrGrad := { |lInvert| If( lInvert, 0x80FFA54A, nARGB( 54, 0, 192, 0 ) ) }

   ACTIVATE DIALOG oDlg CENTERED ON INIT( SobreporImagem( oDlg ) )

   oFont:End()

RETURN NIL

FUNCTION SobreporImagem( oDlg )

   LOCAL oImagem, oBrush
   LOCAL cImagem := "..\bitmaps\pngs\2.png"

   DEFINE IMAGE oImagem FILENAME cImagem

   DEFINE BRUSH oBrush FILE cImagem RESIZE

   oImagem:lTranspaRent := .T.

   oImagem:End()

   oDlg:SetBrush( oBrush )

   oBrush:End()

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
 
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Brush

Post by karinha »

https://imgur.com/qCqrs37

Image

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
oliveiros junior
Posts: 125
Joined: Tue Mar 20, 2007 3:13 pm

Re: Brush

Post by oliveiros junior »

Olá,

Obrigado pelas possibilidades. Vou testar e retorno aqui.

Att.,

Oliveiros Junior
Post Reply