PDA

Ver la Versión Completa : Imagen que se pueda marcar


joancmb
27-09-2012, 10:11:00
Buenos días a todos/as,
Estoy realizando una pequeña aplicación donde hay una imagen de una persona, en esta imagen, cuando se pongan con el cursor encima y cliquen se tiene que dejar una marca en el lugar donde se ha clicado.
Alguien ha tenido que realizar una tarea como esta alguna vez, se le ocurre a alguien como podria realizarse.
Gracias

Lepe
27-09-2012, 10:28:36
Si solo tienes que marcar y listo (no tienes que deshacer lo pintado, ni mover ni nada de eso), lo puedes hacer con el TImage en el evento MouseDown y accediendo a Image1.Picture.Bitmap.canvas.Ellipse(....)

Ellipse te permite dibujar un círculo o elipse; también tienes cuadrados, Lineas, etc.

Si tienes que borrar los puntos para permitir deshacer o algo así, te recomiendo pongas 2 TImages superpuestos, en el de abajo cargas la imagen. En el de arriba, le pones Transparent a True en el inspector de objetos y pintas en él. Así si tienes que borrar, haces un Clear del image de arriba. Una vez finalizado, los dibujos en el Timage de arriba, los vuelves a pintar en el de abajo y guardas la imagen modificada.

No sé la versión de delphi que usas, pero si cargas un jpg no te dejará modificarlo, tendrás que convertirlo a BMP y cargarlo en image.Picture.Bitmap.

Saludos

joancmb
27-09-2012, 10:36:55
Hola Lepe,
En estos momentos estoy utilizando el Delphi XE2.
Gracias por tu respuesta. Otra cosa más luego tengo que guardar esta imagen en una BBDD, se podrá guardar, o seria mejor utilizar un TDBImage, que crees.
Gracias otra vez.

agustinbus
01-10-2012, 05:57:21
Hola como estas! si son muchas las imagenes conviene guardar la ruta de la imagen en la base de datos y luego cargar la imagen con la ruta.
una duda, ¿las marcas deben ser dinamicas? es decir, ¿poder eliminar una marca en algun momento? De ser asi te conviene crear una base de datos con las posiciones x e y de cada marca y al momento de cargar la imagen, se recorre la tabla "Marcas" y se dibuja cada una (partiendo de las propiedades x e y) sobre la imagen. De esta forma se podrian guardar las imagenes con sus respectivas marcas y a la vez modificar las marcas(cambiar posicion, eliminar, color, etc)
Saludos!