Cita:
Empezado por <Sergio>
Si tienes un JPG tienes que pasarlo a un objeto Tbitmap, del tipo "DIB=Device Independent Bitmap" (HandleType:=bmDIB a 8 o 24 bits por pixel según sea conveniente para recién modificarlo. Para convertirlo nuevamente en JPG pasas el bitmap a un objeto TJPEGImage.
Teniendo la imagen en un objeto Tbitmap, accedes a sus pixeles con "scanline[row]". Para copiar una imagen de otros bitmaps a este o viceversa lo haces con su objeto Tcanvas.
Scanline te permite tener acceso rápido a una fila de pixeles del bitmap.
Para mostrar tu bitmap en pantalla usa el evento onpaint del "form":
Este ejemplo copia a memoria de video "elBitmap" ( de acuerdo a la posición y dimensiones del "form") puedes ver los parámetros de BitBlt en la ayuda.
BitBlt(canvas.handle,0,0,width,height,elBitmap.canvas.handle,0,0,SRCCOPY);
|
Sergio:muchas gracias por responder, aún me queda la duda de como modificar el color de la imágen, por ejemplo: quiero cambiar el color de la camisa de la foto de una persona, cambiando del blanco al azul claro, conservando las sombras y degradaciones. ¿se puede con ésta técnica?