Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-02-2008
sionks sionks is offline
Miembro
 
Registrado: Feb 2008
Posts: 22
Poder: 0
sionks Va por buen camino
Post Pintar una imagen por canal con Scanline

Estoy realizando un proyecto el cual es sobre edicion de imagenes, y ahora se me ha presentado un problemita, el cual consiste en lo siguiente:

Estoy haciendo un recorrido de la imagen con scanline, y lo que deseo hacer es que cuando pulse un boton la imagen se ponga en tonalidades verdes, azules o rojas, es decir que solo pinte un canal por pixel.
Responder Con Cita
  #2  
Antiguo 11-02-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: Feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 18
seoane Va por buen camino
Pues muy sencillo, pon los valores de los otros dos canales a cero. Ten en cuenta que destruías la información de esos canales por lo que sera bueno que guardes una copia del original.

Aquí un par de ejemplos:
http://www.clubdelphi.com/foros/show...75&postcount=2
Responder Con Cita
  #3  
Antiguo 11-02-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: Oct 2006
Posts: 2.159
Poder: 14
cHackAll Va por buen camino
Vaya amigo seoane veo que te has adelantado, sin embargo pongo una funcion mas rápida:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 Count: Cardinal;
 Pixel: PCardinal;
begin
 Count := Image1.Picture.Width * Image1.Picture.Height;
 Image1.Picture.Bitmap.PixelFormat := pf32bit;
 with Image1.Picture.Bitmap do
  Pixel := ScanLine[Height - 1];
 while LongBool(Count) do
  begin
//   Pixel^ := Pixel^ and $FF0000; // Red
//   Pixel^ := Pixel^ and $00FF00; // Green
   Pixel^ := Pixel^ and $0000FF; // Blue
   Inc(Pixel);
   Dec(Count);
  end;
end;

Solo por que me daria pena desperdiciar el code.

Saludos
Responder Con Cita
  #4  
Antiguo 11-02-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: Feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 18
seoane Va por buen camino
Cita:
Empezado por cHackAll Ver Mensaje
Vaya amigo seoane veo que te has adelantado, sin embargo pongo una funcion mas rápida
No me hagas sacar el cronometro que la ultima vez que me dijeron eso termine escribiendo la función en ensamblador
Responder Con Cita
  #5  
Antiguo 11-02-2008
sionks sionks is offline
Miembro
 
Registrado: Feb 2008
Posts: 22
Poder: 0
sionks Va por buen camino
Agradecimiento

Muchas Gracias, efectivamente los archivos qeu me has enviado me han sido de gran ayuda, nuevamente gracias
Responder Con Cita
  #6  
Antiguo 11-02-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: Oct 2006
Posts: 2.159
Poder: 14
cHackAll Va por buen camino
Cita:
Empezado por seoane Ver Mensaje
No me hagas sacar el cronometro que la ultima vez que me dijeron eso termine escribiendo la función en ensamblador
Esto me suena a un desafío; realmente estas dispuesto a competir conmigo en assembler?

PD: te aconsejo que no saques el cronometro

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Qué se almacena exactamente con un Scanline?? NeoAnderson Gráficos 4 07-02-2008 00:50:25
pintar de diferente color a una imagen Chai Gráficos 8 30-10-2006 10:55:15
Sonido por canal y sugerencia turminator Varios 4 15-06-2006 14:18:54
Scanline - BMP Monocromo fmtidona Gráficos 2 20-10-2005 16:12:11
Canal de Letra en Archivo Midi cacuna Varios 2 17-03-2005 20:01:54


La franja horaria es GMT +2. Ahora son las 06:25:08.


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