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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|