Seleccionar Subzonas de una Imagen
Hola, amigos:
Necesito dividir una imagen en zonas sensibles al puntero del ratón, que puedan seleccionarse, una o más zonas conjuntamente, para crear acciones dependiendo de la (o las) zonas seleccionadas. Imaginaos un mapa en el que se puedan seleccionar una provincia o bien varias colindantes. Que esta selección se pueda guardar, para poder mostrarla en consultas posteriores, cambiando el color o la intensidad de las partes seleccionadas. Reconozco humildemente que no sé por dónde empezar. No he encontrado nada en los trucos ni en los foros. Gracias, de antemano por vuestra ayuda. |
funcion PtInRect
Inserta un TImage , cargas la imagen image1.Picture.LoadFromFile();
en el evento de onMouseMove procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var Cuadro:Trect; begin Cuadro := Rect(image1.Left,image1.Top,image1.left+image1.Width,image1.Top+image1.Height); if (PtInRect(Cuadro,Point(X,Y))) then form1.Caption := 'area A' else form1.Caption := 'No area'; end; con PtInRect puedes saver si la cordernada x,y se encuentra dentro del cuadro, en este ejemplo seria la totalidad de la imagen, puedes poner Rect(image1.Left,image1.Top,image1.left+10,image1.Top+10); seria un cuadro de 10x10 de la esquina superior, izquierda espero que te sirva!!!! la otra manera que haria seria integrando un flash en el proyecto, y con alguna tool de estas que puedes hacer flash click, click , click ya estaria para mas info http://delphi.about.com/od/graphics/l/aa040103a.htm http://www.delphiflash.com/library-shockwave-flash.php referencia de metodos y eventos del control de flash |
Muchas gracias, Neuronic.
Algo así es lo que quiero hacer, pero las áreas a delimitar no son rectas, lamentablemente, son bastante sinuosas y, a veces, debo dejar al usuario que delimite su área personal, que puede tomar parte de otras ya definidas. Si las áreas fueran regulares, la función sería genial. Voy a visistar el enlace a ver qué puedo sacar de alli. Luego te cuento. Gracias por tu esfuerzo y tu tiempo. Saludos. |
He estado mirando los enlaces y no entiendo bien eso del flash. Si a alguien no le ocurre otra cosa... me veo haciendo los 10/12 mapas, confeccionando un puzle para cada uno con las distintas provincias como imágenes separadas. ¡¡ Miedo me está dando sólo de pensarlo !!
Agradeceré cualquier salida menos trabajosa. Gracias. |
Busca por "marching ants".
Mira en http://www.mandrillsoft.com/en/codecenter.html en el apartado Selection tool y bájate el programa ejemplo http://www.mandrillsoft.com/download...e_20071123.zip Saludos |
La franja horaria es GMT +2. Ahora son las 14:22:10. |
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