Brush

Brush

Postby oliveiros junior » Thu Apr 18, 2024 6:06 pm

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
oliveiros junior
 
Posts: 125
Joined: Tue Mar 20, 2007 3:13 pm

Re: Brush

Postby Antonio Linares » Thu Apr 18, 2024 8:03 pm

Estimado Oliveiros,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Brush

Postby karinha » Fri Apr 19, 2024 12:00 pm

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: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Brush

Postby karinha » Fri Apr 19, 2024 12:46 pm

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
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Brush

Postby oliveiros junior » Fri Apr 19, 2024 1:42 pm

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
*----------------------------------------------------------------------------------*
oliveiros junior
 
Posts: 125
Joined: Tue Mar 20, 2007 3:13 pm

Re: Brush

Postby karinha » Sun Apr 21, 2024 2:03 pm

Vamos por partes, que nem JACK o Estripador:

Code: Select all  Expand view

// 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: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Brush

Postby karinha » Sun Apr 21, 2024 2:16 pm

Code: Select all  Expand view

// 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: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Brush

Postby karinha » Sun Apr 21, 2024 3:18 pm

ESCOLHA, CHOICE:

Code: Select all  Expand view

// 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: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Brush

Postby karinha » Sun Apr 21, 2024 3:57 pm

Code: Select all  Expand view

// 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: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Brush

Postby karinha » Sun Apr 21, 2024 4:04 pm

https://imgur.com/qCqrs37

Image

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

Re: Brush

Postby oliveiros junior » Wed Apr 24, 2024 8:27 pm

Olá,

Obrigado pelas possibilidades. Vou testar e retorno aqui.

Att.,

Oliveiros Junior
oliveiros junior
 
Posts: 125
Joined: Tue Mar 20, 2007 3:13 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 45 guests