Aluminium skin

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
SiggeSvahn
User
User
Posts: 40
Joined: Wed Oct 06, 2010 9:37 pm

Aluminium skin

Post by SiggeSvahn »

Hi folks!
Thanks for the nice welcoming to this forum earlier. Before updating my other apps I'd like to share my newest experiment - a black aluminium background. Please feel free too improve the looks.

Code: Select all

EnableExplicit
;*****************    CONSTANTS   ****************************************

#WIN_WIDTH=877;200
#WIN_HEIGHT=474;88
;**************************************************************************
;                 D E F I N I T I O N S
Define x.l,y.l, i.l, c.l, rHiLimit.l, rLoLimit.l, smearCtr.l, smearLimit.l
Define fMultiplikatorMax.f, lColIluminated.l 
Define nPixOnXAxis.l, fGainXmin.f, fIncr.f
Define lGainX.l, lInvGainX.l
Enumeration
  #WinFrmTracks
  
  #imgBackGround
  #StringGadget
  #ButtonGadget
  #imgBackGround_MEDIA
 EndEnumeration
 
 ;STARTING VALUES *******
 nPixOnXAxis=(#WIN_WIDTH/2):#OrigMax103=103: fMultiplikatorMax=140/#OrigMax103;fMultiplikatorMax=255/#OrigMax103
 fGainXmin=0.5;Never darker light than this.
 fIncr=0.5/nPixOnXAxis
 
 If OpenWindow(#WinFrmTracks, 0, 0, #WIN_WIDTH, #WIN_HEIGHT, "FrmTracks", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   If CreateImage(#imgBackGround_MEDIA, #WIN_WIDTH, #WIN_HEIGHT)
     If StartDrawing(ImageOutput(#imgBackGround_MEDIA))
       rHiLimit=180:rLoLimit=0:smearLimit=1;start value.
       For y=0 To  #WIN_HEIGHT-1
         For x=0 To #WIN_WIDTH-1
           smearCtr+1
           If rLoLimit>50:smearLimit=2:EndIf;Smearing bright values.
           If smearCtr=smearLimit
             smearCtr=0
             ;Creating gradient lines.
             If c=rHiLimit;Decreasing brightness.
               i=-1
               rLoLimit=Sqr(Random(88))*8;+Random(20)+Random(20)+Random(20)
               ;If y<8:Debug rLoLimit:EndIf
             EndIf
             If c=rLoLimit;Increasing brightness.
               i=1
               rHiLimit=81+Random(22)
             EndIf
             c=c+i
             EndIf
;Spotlight effect filter***************************.
             lInvGainX=Abs(nPixOnXAxis-x)
             lGainX=Abs(nPixOnXAxis-lInvGainX)
           
             lColIluminated=c*fMultiplikatorMax*((lGainX * fIncr)+fGainXmin)
             
             Plot(x,y,RGB(lColIluminated,lColIluminated,lColIluminated))
           Next x
       Next y
       StopDrawing()
     EndIf
    EndIf
EndIf
If ImageGadget(#imgBackGround,0,0,99,99,ImageID(#imgBackGround_MEDIA),#PB_Image_Border):EndIf
StartDrawing(ImageOutput(#imgBackGround_MEDIA))
StopDrawing()
DisableGadget(#imgBackGround,1);Trick to allow the img to serve as a container for other gadgets.
;***************************************************
If StringGadget(#StringGadget,99,99,333,22,"Success!"):EndIf

SetGadgetColor(#StringGadget,#PB_Gadget_BackColor,RGB(255,0,0))

If ButtonGadget(#ButtonGadget,333,333,55,33,"Test!"):EndIf
  
Repeat : Until WaitWindowEvent(1) = #PB_Event_CloseWindow
End
[edit by Rings, set CodeTags ]
Last edited by SiggeSvahn on Mon Dec 16, 2019 1:12 pm, edited 1 time in total.
Newbie
User avatar
Vera
Addict
Addict
Posts: 858
Joined: Tue Aug 11, 2009 1:56 pm
Location: Essen (Germany)

Re: Aluminum skin

Post by Vera »

Hi SiggeSvahn,

well that looks nice :)
(running on Linux)

thanks for sharing ~ Vera

ps: please use the [ code ] ... [ /code ] tags to enclose your code ~ you'll find the button when editing a posting
Post Reply