![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
|
Blanco & Negro
Hola amigos!! Una pregunta rápida: ¿Cómo puedo comprobar si un Bitmap esta en blanco y negro, unicamente? Teniendo en cuenta que dicho bitmap puede estar grabado en un formato que no sea blanco y negro, esto es, la propiedad Monochrome no nos serviría de nada. ¿Tendria que crear un bucle que recorra todo el bitmap y comprobar si solo existen esos dos colores? Un saludo.
__________________
craven |
|
#2
|
||||
|
||||
|
La verdad que yo te recomendaría trabajar con la paleta del Bitmap, mas que con todo el Bitmap, pero si eso es lo que querés, acá tenés un ejemplo:
Código:
Type
TRGBArray = array of TRGBTriple;
PRGBArray = ^TRGBArray;
function InColors( ABitmap : TBitmap; AColors : array of TRGBTriple ) : boolean;
var
xPix,
yPix : Integer;
P : PRGBArray;
begin
Result := True;
for yPix := 0 to ABitmap.Height -1 do
begin
P := ABitmap.ScanLine[yPix];
for xPix := 0 to ABitmap.Width -1 do
if AreIn( P^[xPix], AColors ) Then
begin
Result := False;
Exit;
end;
end;
end;
Implementación: Código:
var
rgbBlanco,
rgbNegro : TRGBTriple;
begin
with rgbBlanco do
begin
rgbtBlue := 255;
rgbtGreen := 255;
rgbtRed := 255;
end;
with rgbNegro do
begin
rgbtBlue := 0;
rgbtGreen := 0;
rgbtRed := 0;
end;
if InColors( MiBitmap, [rgbBlanco, rgbNegro] ) Then
...
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
![]() |
|
|
|