![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola.
Ahora tengo otro problema. Lo que pasa es que al recorrer una imagen me da que esta tiene pixeles blancos aunque la imagen original no tenga ninguno. Lo que hice fué pasar la imagen en RGB a 256 colores con la sentencia: imagen1.canvas.pixel[x,y] and $FF. Salu2. ![]() |
|
#2
|
||||
|
||||
|
Cita:
¿Puedes poner un poco de codigo? |
|
#3
|
|||
|
|||
El código!!!. Ahí va...procedure TForm1.BitBtn1Click(Sender: TObject); var X, Y, Z, W, MaxValor,TamLinea: Integer; Color : LongInt; Histograma : array[0..255] of Integer; begin MaxValor := 0; for Z:=0 to 255 do begin Histograma[Z] := 0; end; for Y := (image1.Width - image1.Width) to image1.Width do begin for X := (image1.Height - image1.Height) to image1.Height do begin Color := image1.Canvas.Pixels[X, Y]and $FF; {De RGB a 256 colores} Histograma[Color] := Histograma[Color]+1; end; end; for Z:=0 to 255 do begin if( Histograma[Z] > MaxValor ) then MaxValor := Histograma[Z]; end; for Z:=0 to 255 do begin TamLinea := ((Histograma[Z] * 312) div MaxValor); image2.Canvas.MoveTo(18+Z, 326); image2.Canvas.LineTo(18+Z, 326-TamLinea); end; end; Salu2 ![]() |
|
#4
|
||||
|
||||
|
Bien, en tu código el problema es el siguiente (marcado en rojo), al hacer referencia a un pixel que no existe devuelve el color blanco por defecto, por eso te aparecía el color blanco aun cuando la imagen no lo contenía:
Por otro lado, retoque un poco el código:
Pero esto ultimo ya es cuestión de gustos. De todas formas para este tipo de operaciones usar la propiedad Pixels del canvas es poco eficiente. Echale un vistazo a la propiedad Scanline del bitmap, mucho mas apropiada para estos casos. PD: Usa la etiquetas [delphi][/delphi] para incluir código, de esta manera se podrá leer mucho mejor. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como hago un pixel transparente | jorge1987 | Gráficos | 7 | 26-09-2006 20:19:28 |
| pasar imagen pixel a pixel | gulder | Gráficos | 7 | 26-06-2005 02:10:45 |
| Como asignarle atributos a un pixel? | bustio | .NET | 0 | 03-12-2004 20:42:00 |
| Obtener posicion X,Y de un pixel en un TImage | diegofhernando | Varios | 3 | 17-12-2003 15:03:23 |
| ¿ Cual es la mejor forma de implementar una Pizarra con Sockets? pixel a pixel ? | sase | Internet | 1 | 22-10-2003 16:23:50 |
|