Ver Mensaje Individual
  #159  
Antiguo 01-01-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
Últimamente tengo poco tiempo para el código inútil ( y lo echo de menos ) pero para que no se olvide el hilo voy a intentar buscar algunas cosillas que tengo por aquí guardadas.

Para empezar aquí os dejo una aplicación muy sencilla para convertir fotos a color sepia (efecto foto antigua) , tonos de gris o invertir el color. Es un código muy sencillo, un pequeño encargo de mi prima que es aficionada a la fotografía pero no tiene ni idea de como usar el photoshop

Un trozo del código es el siguiente (Convierte a sepia):
Código Delphi [-]
var
  P: ^TRGB;
  i, j, k: Integer;
begin
  // Volvemos a cargar la foto original en el TImage
  imgMain.Picture.Assign(Bitmap);
  // Recorremos la imagen pixel a pixel
  for j:= 0 to imgMain.Picture.Bitmap.Height - 1 do
  begin
    P:= imgMain.Picture.Bitmap.ScanLine[j];
    for i:= 0 to imgMain.Picture.Bitmap.Width - 1 do
    begin
      k:= (P^[1] + P^[2] + P^[3]) div 3;
      P^[1]:= (k*200) div 255;
      // tbSepia.Position es una variable que nos permite variar el tono de sepia
      P^[2]:= (k*(210 + tbSepia.Position)) div 255;
      P^[3]:= k;
      inc(P);
    end;
  end;
  imgMain.Refresh;
end;

Aquí abajo os dejo el código completo. Para algo un poco mas complejo, podéis utilizar la modesta unit de filtros gráficos que tengo en mi pagina web.
http://delphi.jmrds.com/?q=node/23
Archivos Adjuntos
Tipo de Archivo: zip Sepia.zip (10,4 KB, 9 visitas)
Responder Con Cita