Cita:
Empezado por kurono
amigo hackll con esa modificacion del codigo el color anaranjado no llega a quitarse ni disminuye tampoco lo que hace es distorcionar la imgen lo que quiero no es quitar del todo el color naranja de la imagen sino disminuirla lo mas posible o poner la imagen en blanco y negro y ir subiendo el color poco a poco en cuanto al amigo delpius aplique lo que me dices sobre el codigo free
|
Amigo kurono, procura utilizar el Clipboard para copiar mi nick; no te gustaría que a ti te dijeran "korona" verdad?, (lo digo tambien por el nick de Delphius). Tampoco comprendo lo que quisiste decir al final; te ruego tomar unos segundos más para redactar tus ideas.
Ahora distorcionar? no... hace lo que dijiste; talvez haya un error mínimo;
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var
jpg: TJPEGImage;
bmp: TBitmap;
Count: Cardinal;
lpBuffer: PChar;
begin
jpg := TJPEGImage.Create;
jpg.LoadFromFile('c:\windows\web\wallpaper\Autumn.jpg');
bmp := TBitmap.Create;
bmp.Assign(jpg);
bmp.PixelFormat := pf24bit;
Count := bmp.Width * bmp.Height;
lpBuffer := PChar(Cardinal(bmp.ScanLine[bmp.Height - 1]) + 1);
while LongBool(Count) do
begin
if (lpBuffer^ > #32) and (lpBuffer[1] > #64) then
begin
Dec(lpBuffer[1], 64);
Dec(lpBuffer^, 32);
end;
Inc(lpBuffer, 3);
Dec(Count);
end;
Image2.Picture.Assign(bmp);
Image1.Picture.Assign(jpg);
bmp.Destroy;
jpg.Destroy;
end;
El color naranja es una composición de matizes 100% de rojo y 50% de verde, con lo que un naranja puro es $0080FF (255 de rojo, 128 de verde y 0 de azul). Talvez con lo que tengas que trabajar es justamente eso; detectar el valor de dichas matices.
Saludos