FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour BtnBmp con Alpha Channel
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
BtnBmp con Alpha Channel
Posted: Fri Mar 27, 2009 04:37 AM
Les presento otra posible contribucion, nuevamente expongo el prototipo de lo que seria el cambio...

Como se ha comentado el tema sobre Alpha Channel empiezo a implementarlo para las clases de FW...

la idea general, como al igual que usamos la clausula TRANSPARENT, he agregado una clausula ALPHA, para expresar que vamos a usar las caracteristicas de un bitmap con Alpha Channel, esta caracteristica necesita una cantidad de transparencia ( 0-255 ), he agregado una clasula LEVEL para determinar en porcentajes esa transparencia ( 0-100% ), no usamos 0-255 solo un numero que exprese el porcentaje.

la clase TBTNBMP por los momentos usa 3 imagenes ( 1-Status Normal, 2-Boton Oprimido, 3-Boton Deshabilitado ), para el proximo build tendra una 4 imagen que se usara cuando el mouse este ensima del boton...
por el uso de todas estas imagenes he individualizado la transparencias de los mismos,
ejemplo

@ x,y btnbmp.... ALPHA LEVEL 0,10,10,0 seria la forma de agregarles el porcentaje de transparencia a cada imagen por default seria 0% transparencia...

Sin mas palabras les deje un ejemplo
estoy atento a las opiniones y sugerencias

http://www.sitasoft.com/fivewin/test/testbtb2.rar

Code (fw): Select all Collapse
#include "fivewin.ch"
#include "Slider.ch"

procedure main()
local oDlgw
local oBot01
local oBar, oBotBar0, oBotBar1 
local nVar1 := 80  // transparence porcent
local oSlide
local lChk1 := .f.
local lChk2 := .f.


SetBalloon( .t. )

DEFINE dialog oDlgw TITLE "Test BTNBMP Alpha Channel" from 0,0 to 600,700 pixel


  @ 50, 5 BTNBMP oBot01 OF oDlgw SIZE 80, 80 tooltip "BTNBMP With Alpha Channel" ;
   file "..\bitmaps\explorer.bmp",nil,nil,"..\bitmaps\imac.bmp" alpha level nVar1,,,20
   
  @ 180, 5 checkbox lChk1 prompt "Adjust Image   " of oDlgw pixel on change ( oBot01:lAdjust := lChk1, oBot01:refresh() )
  @ 200, 5 checkbox lChk2 prompt "2007 Style     " of oDlgw pixel on change ( oBot01:l2007 := lChk2, oBot01:refresh() )
  
  @ 50, 300 SLIDER oSlide VAR nVar1 OF oDlgw ;
               VERTICAL ;
               RIGHT DIRECTION ;
               RANGE 1, 100 ;
               MARKS 1;
               EXACT;
               ON CHANGE ( oBot01:aLevel[ 1 ] := nVar1, oBot01:refresh() ) ;
               SIZE 42, 160 PIXEL
               
  
 
ACTIVATE dialog oDlgw 

return
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: BtnBmp con Alpha Channel
Posted: Fri Mar 27, 2009 08:09 AM

Daniel,

Solamente decir que sería una aportación mas que excelente.

gracias por tu disposición.

William, Morales

Saludos



méxico.sureste

Continue the discussion