Como dibujar en los pixels de un bitmap con punteros (mas rapido que pixel(]) y como pasar de TColor a RGB

Por Saiyine  el 2004-07-14 00:00:00 - Secciones:  DELPHI  - Enlace permanente: 444

function RGB2TColor(r,g,b : integer) : TColor;
begin
        Result:=b shl 16+g shl 8+r;
end;

procedure TColor2RGB(c : tcolor; var r : integer; var g : integer; var b : integer);
begin
        r:=c and $FF;
        g:=(c and $ff00) shr 8;
        b:=(c and $ff0000) shr 16;
end;

function TColor2R(c : Tcolor) : integer;
begin
        result:=c and$FF;
end;

function TColor2G(c : Tcolor) : integer;
begin
        result:=(c and $ff00) shr 8;
end;

function TColor2B(c : Tcolor) : integer;
begin
        result:=(c and $ff0000) shr 16;
end;

// Pset(bitmap1,200,200,RGB2Color(0,0,64));
// Dibujaria un punto azul oscuro en el punto 200,200 del bitmap1
procedure Pset(bitmap : TBitmap; X,Y : Integer; c : TColor);
var
pPixels : PByteArray;
begin
        pPixels:=Bitmap.ScanLine[Y];
        pPixels[X*3]:=TColor2B(c);
        pPixels[X*3+1]:=TColor2G(c);
        pPixels[X*3+2]:=TColor2R(c);
end;

function Preset(bitmap : TBitmap; X,Y : Integer) : TColor;
var
pPixels : PByteArray;
begin
        pPixels := Bitmap.ScanLine[Y];
        result:=RGB2TColor(pPixels[X*3+2],pPixels[X*3+1],pPixels[X*3]);
end;

He actualizado ligeramente las funciones de conversión de formatos de colores.


Tu nombre (Nick):

Tu correo (Email):
  Necesario para tu gravatar!

Tu página (URL):

Escribe aqui tu comentario:

       :noworry: :roll: :huh: :push: ¬¬ :OO 8) 8O :( :) :? :D :P :o :x :| ;) ^^ xD



Vista previa activada.

Vista previa (6/6/6, 6:66)


Patrocinadores

Saiyine recommends the easiest way to earn money with your web: get paid just by having some links! Click this button to check it out.

Text Link Ads

. . .

Descargas

  • ApagaPC
    apagapc241.exe  (2080)
  • LimpiaDocus
    LimpiaDocus001.exe  (1798)
  • RCM
    rcm001.zip  (1666)
  • Popmail
    popmail-0.4-psmn.tar.gz  (1716)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (2214)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (1833)
  • Excel Simpsons
    Excel Simpsons  (1872)
  • . . .

    Recomiendo

  •  Mozilla Firefox 
    DIR (571)
  •  Mozilla Thunderbird 
    DIR (544)
  • KLite 
    klmcodec375.exe (99)
  •  Emule 
    DIR (511)
  •  Knoppix 
    DIR (430)
  •  Knoppix en español (DVD) 
    DIR (771)
  •  Mldonkey 
    DIR (489)
  •  Nucleo linux 
    DIR (490)
  •  Parche linux 
    DIR (490)

    . . .
  • Proyectos online

  • Saiyine Store
  • Kunowalls!!!
  • Fondos de pantalla
  • Picaday: imagenes sexys o chocantes.
  • Scarlett: fotos de Scarlett Johansson
  • WhatsmyIP: obtener tu IP pública
  • Uma Thurman: galeria de Uma Thurman
  • FunPics: imagenes graciosas
  • . . .

    Blogs

  • Por lo que más querais, no entreis a estos: Tapanez, Yhandros, Onez.

  • Otros en español: Chavalina, Testosterona, Kirai, Wardog y el mundo, Mundo Geek, Microsiervos.

  • Mis lecturas en guiri: Coding Horror, MySQL Performance, Slashdot.

    . . .
  • Utilidades

  •  Coral  (606), cacheando webs
  •  Spam.la  (696), correo de usar y tirar
  •  Mailinator  (687), correo de usar y tirar
  •  Bug me not  (636), absurdos registros di NO
  •  Trashmail  (627), correo de usar y tirar

    . . .
  • Página web ©2001-2008 Saiyine generada en 0.22956s, con 1669838 visitas en total, hoy 636 (de un total de 1204 previstas).

    . . .