whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

30 Visitors Online


 
...Darken or Lighten TColor?
Autor: TheB_6030
Homepage: http://nav.to/PenguinProductions/
[ Print tip ]  

Tip Rating (12):  
     


// Takes a TColor and returns either the lighter or darker color, depending on
// the supplied integer (percentage of original to add or subtract)
// I don't know if this is 100% correct - I did it away from my computer.

function TMainForm.ChangeColor(InputColor: TColor; Lighten: Boolean; n: Extended): TColor;
var
  
r,g,b: extended;
begin
  
// Grab RGB values
  
r := GetRValue(InputColor);
  g := GetGValue(InputColor);
  b := GetBValue(InputColor);
  // Do the operation
  
if Lighten = True then
  begin
    
r := r+((r/255)*100);
    g := g+((g/255)*100);
    b := b+((b/255)*100);
  end else
  begin
    
r := r-((r/255)*100);
    g := g-((g/255)*100);
    b := b-((b/255)*100);
  end;
  // Check whether result is in range
  
if r > 255 then r := 255;
  if r < 0 then r := 0;
  if g > 255 then g := 255;
  if g < 0 then g := 0;
  if b > 255 then b := 255;
  if b < 0 then b := 0;
  // Send it out
  
Result := RGB(byte(Round(r)),byte(Round(g)),byte(Round(b)));
end;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners