Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
como quitar el color rojo de una imagen

hola amigos tengo un problema quiero hacer una aplicacion donde le quite lo rojiso a una imagen pues le cuento que tengo unas fotos que me salieron con un tono rosjiso y me gustaria quitarlas como lo puedo hacer
Responder Con Cita
  #2  
Antiguo 25-04-2008
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Yo creo cualquier programa de retoque digital, hasta el más cutre lo hará mucho mejor de lo que puedas programar tú... salvo que quieras perder horas de tu tiempo en hacer algo que otros ya han perfeccionado por investigar el tema, o sea un ejercicio para algo no le veo el sentido a un programa así.
Responder Con Cita
  #3  
Antiguo 25-04-2008
madiazg madiazg is offline
Miembro
 
Registrado: sep 2005
Ubicación: Canarias
Posts: 120
Poder: 19
madiazg Va por buen camino
Yo utilizo una librería gráfica gratuita:
http://pagesperso-orange.fr/pierre.g/xnview/engfl.html
Con esta librería podrás manipular imágenes. Un ejemplo en la primera versión de un programa que he desarrollado con esta librería:
http://personal.telefonica.terra.es/...rket/imagen3d/
Saludos...
Responder Con Cita
  #4  
Antiguo 25-04-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por kurono Ver Mensaje
hola amigos tengo un problema quiero hacer una aplicacion donde le quite lo rojiso a una imagen pues le cuento que tengo unas fotos que me salieron con un tono rosjiso y me gustaria quitarlas como lo puedo hacer
Puedes hacer un barrido XY obteniendo el RGB de cada pixel, y disminuyendo el tono del rojo obtendras lo que necesitas.

Saludos
Responder Con Cita
  #5  
Antiguo 26-04-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
amigo chackall puedes mostrarme un ejemplo de ese barrido xy
Responder Con Cita
  #6  
Antiguo 28-04-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Un barrido podría ser visto como ésto;

Código Delphi [-]
...

 y := bmp.Height;
 repeat Dec(y);                       // barrido vertical
  x := bmp.Width;
  repeat Dec(x);                      // barrido horizontal
   Color := bmp.Canvas.Pixels[X, Y];
   if GetRValue(Color) > 10 then
    bmp.Canvas.Pixels[X, Y] := RGB(GetRValue(Color) - 10, GetGValue(Color), GetBValue(Color));
  until not LongBool(x);
 until not LongBool(y);

...
ó con el uso de un while o un for (simplemente un bucle dentro de otro), sin embargo se puede hacer un barrido de toda la imagen directamente en memoria, lo que mejoraría conciderablemente la velocidad de acceso y el trabajo plano en un vector (a diferencia de en una matriz XY como la del anterior ejemplo).

Código Delphi [-]
uses jpeg;

procedure TForm1.Button1Click(Sender: TObject);
var
 jpg: TJPEGImage;
 bmp: TBitmap;
 Count: Cardinal;
 lpBuffer: PByte;
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 := PByte(Cardinal(bmp.ScanLine[bmp.Height - 1]) + 2);
 while LongBool(Count) do // Barrido
  begin
   if lpBuffer^ > 64 then //  Si el tono excede el mínimo
    Dec(lpBuffer^, 64);   // reducimos dicho valor.
//    lpBuffer^ := 255{Ej. enrojecido total};
   Inc(lpBuffer, 3);
   Dec(Count);
  end;
 Image2.Picture.Assign(bmp);
 Image1.Picture.Assign(jpg);
 bmp.Destroy;
 jpg.Destroy;
end;

Saludos

Última edición por cHackAll fecha: 28-04-2008 a las 18:39:48. Razón: REM
Responder Con Cita
  #7  
Antiguo 28-04-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
ok gracia amigo hack funciona perfectamente pero si no es mucha molestia me gustaria tambien poner la imagen blanco y negro como se haria que debo cambiar en el codigo para hacerlo

Última edición por kurono fecha: 28-04-2008 a las 20:16:03.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como Cambiar El Color De Fondo En Una Imagen kurono Varios 2 27-11-2011 13:53:41
Cambiar el color de una imagen inter_mercadeo Gráficos 2 25-02-2005 18:36:54
Botón con Imagen y color. kukinn Varios 10 13-01-2005 14:32:30
¿Como quitar una imagen que esta encima de otra? astur_racing Gráficos 3 01-09-2004 20:47:15
imprimer en color rojo con el canvas click Impresión 4 03-11-2003 15:17:51


La franja horaria es GMT +2. Ahora son las 11:51:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi