FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
pasar imagen pixel a pixel
hola delphimaniacos mi pregunta es la siguiente:
necesito pasar una image a otra pero pixel por pixel, primero como hago para saber cuantos pixeles tiene una imagen y con el siguiente codigo probe para pasar de una a otra image pixel por pixel pero no me sirve si estoy equibocado corijanme. Image1.Canvas.Pixels[i , j]:=Image2.Canvas.Pixels[i , j]; donde iy j son 2 varibles enteras que llevan las coordenadas de el pixel... gracias gulder..... logula666@hotmail.com |
#2
|
|||
|
|||
copiar imagen
Tienes que meter la instruccion que tu has escrito dentro de un doble bucle que recorra la imagen pixel a pixel:
Código:
for j:=0 to image1.Width -1 do for i:= 0 to image1.height do image2.Canvas.Pixels[j,i]:=image1.Canvas.Pixels[j,i]; utiliza el metodo scanline de Tbitmap. |
#3
|
||||
|
||||
perfecta la respuesta
esa parte me feltaba la boy a probar y para ver
de todas formas grasias |
#4
|
||||
|
||||
Cita:
'Can only modify an image if it contains a bitmap' no se que pasa podeis ayudarme |
#5
|
|||
|
|||
Lo que pasa que el tipo de imagen que tratas de copiar no es mapa de bits, seguramente sera un jpg.
|
#6
|
||||
|
||||
Cita:
|
#7
|
||||
|
||||
ahora si....
lo probe con .bmp y si me sirvi pero es bastante lento estube buscando la propiedad scanline de los Tbitmap y no pude encontrarla de todas formas gracias de antemano (gulder vs soltan)
logula666@hotmail.com Última edición por gulder fecha: 23-06-2005 a las 16:39:39. |
#8
|
|||
|
|||
Pongo un enlace a una página muy buena para aprender a utilizar las funciones del GDI de windows. El tutorial es para C++, pero las funciones se utilizan exactamente igual en Delphi.
Delphi simplifica muchísimo el uso del GDI con objetos como el TCanvas, Tbitmap, etc, pero si quieres optimizar tanto como sea posible (aunque usando el scanline ya haces el 95% de la optimización) tienes que usar el GDI directamente. La idea es trabajar en memoria todo lo que no se pueda hacer con el GDI por que tendrás control total sobre tus bits y sólo para mostrar en pantalla el resultado final usar el GDI. http://www.winprog.org/tutorial/index.html |
|
|
|