![]() |
![]() |
| 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
|
||||
|
||||
|
En el ejemplo 31 cada una de las figuras se corresponde a un objeto creado en tiempo de ejecución e incluido en un TObjectList llamado Figuras. Pues bien si necesitamos saber las coordenadas de los objetos solo tenemos que recorrer la lista y para cada objeto revisar su propiedad BoundRect. Algo así:
El código anterior es solo un ejemplo, se le pueden añadir un par de cosas. Por ejemplo si lo que quieres es el punto central puedes hacer algo como esto:
También puede ser que quieras diferenciar cada figura por separado, para eso añade a la clase TFigura un nombre, a la hora de crear una figura nueva tendrás que asignarle un nombre y luego dentro del bucle for solo tendrás que comprobar el nombre para saber cual es cada una. |
|
#2
|
|||
|
|||
|
Fantástico
Muchas gracias,
creo que con esto ya puedo solucionar el problema. Qué haría yo sin este foro! |
|
#3
|
||||
|
||||
|
Oregon,
estoy trabajando en algo similar, para permitir pintar rutas. La idea básica es utilizar ortofotos, y sobre ellas, marcar los puntos que se necesiten. Tengo el prototipo de las funciones de cálculo de coordenas utm y pintado de lugares tomando las coordenadas de una BBDD. En esta misma BBDD están incluidas las ortofotos. Te paso el programa ( permite cargar cualquier ortofoto y referenciarla si sabes las coordenadas ), y que pinta los puntos. Concretamente estoy trabajando con la provincia de Bizkaia - Euskadi , pero valdría para cualquier zona de españa, ya que he sacado de la guia campsa las coordenadas utm de todas las poblaciones.En el ejemplo que incluyo sólo he dejado unas cuantas para que el archivo no pese demasiado. Para utilizarlo, descomprime el proyecto en un directorio, y cambia el nombre del mdb a mapas.mdb Para utilizarlo, tienes que conseguir una ortofoto, dar de alta el registro en la ventana gestón de mapas, darle las coordenadas utmx y utmy de la esquina inferior izquierda , el offset que es la distancia en metros del lado de la ortofoto, y cargar la propia foto. Me parece que sólo he utilizado compenentes estandard, por lo que con D7 debiera compilar. Creo que sólo funciona para el huso 30, pero para mi es suficiente. Como ya te he indicado, el programa es un prototipo. Me queda encapsular todo en un mapa de escalado inferior para saltar a la foto de detalle. También me falta la gestión de las rutas, pero es más de lo mismo que ya tengo. La valiosa información que me han ofrecido desde este foro me ha servido muchísimo. También las respuestas a mis preguntas referentes a mapas a otros conocidos. Temas a mejorar: pintado de lineas de referencia en las fotos, calculo de coordenas geodesicas ( latitud y longitud ) simultáneamente, posibilidad de importar rutas desde ficheros proporcionados por gps's, ... un montón de cosas que con tiempo, .... Bueno, teniendo en cuenta que lo estoy haciendo para el grupo de jubilados en el que participa mi padre, para que tengan las salidas al monte en la bbdd y puedan preparar un fancine anual, pues ni tan mal. Lo dicho, a poquitos, pues va saliendo el germen. Si tienes tiempo de echarle un vistazo, si te parece interesante, si tienes algo que me pueda interesar y que te apetezca compartir ( compartir es amar ) pues estoy a tu disposición.Un saludo Nota: he actualizado el adjunto con un par de cosillas más incluidas
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - Última edición por fjcg02 fecha: 07-12-2006 a las 23:47:09. |
|
#4
|
|||
|
|||
|
Muchas gracias fjcg02,
POr lo que me cuentas tiene muy buena pinta. Sin embargo, tengo un pequeño problema. Trabajo con Turbo Delphi, y no puedo instalar componentes externos. Por eso, cuando intento compilar me dan error todos los componentes JV. ¿te importaría pasarme un ejecutable para ver como funciona? Así de paso te puedo hacer de "Beta-tester" Mientras tanto me llevo el código fuente para repasarlo a fondo este largo fin de semana. Respecto a mi aplicación, la verdad es que va muy retrasada, pero no tengo problema en dejarlo aquí para que puedas aprovechar algo. Si es que puedes aprovechar algo del código de un principiante como yo. Ahora no lo tengo aquí, pero lo dejaré lo antes posible. Muchas gracias de nuevo fjcg02. Un saludo, |
|
#5
|
||||
|
||||
|
oregon,
no tengo problemas para pasarte el ejecutable, pero pesa un mega, y en esta página no se permiten archivos de ese tamaño. Si me indicas cómo hacertelo llegar, no tengo ningún problema. Por otro lado, el unico objeto JV que tengo es un JvDBImage, para visualizar los jpgs de la bbdd y/o cargarlos. Lo que ocurre que el Tdbimage no me permite cargar jpg's directamente. Si cambias ese objeto, y 'trampeas' lo que esté asociado a él, no tendrás problemas en utilizar el código para compilar. Por otro lado, he conseguido pintar las líneas de referencia sin problemas ( cuadricula sobre la foto) para tener referencias. Espero que puedas darle caña al tema y que te valga el resto en caso de que no puedas compliar. Un saludo Por cierto, es un placer ayudar a cualquiera. He sido visitante de ese foro y he aprendido mucho, pero hasta hace poco casi no preguntaba ni intervenía. Parece que la edad me quita la timidez.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#6
|
||||
|
||||
|
Sin ánimo de ser pesado, me está ocurriendo un pequeño contratiempo.
He incluido en mi programa el escalado de la ortofoto que visualizo utilizando tpegimage().scale. el timage está en un scrollbox. Cuando la imagen está visualizada a 1:8 o 1:4 se visualiza entera, y no hay problemas cuando pinto los lugares. Cuando está a 1:2 o a 1:1 la imagen no 'cabe' en el formulario, por lo que se activa el scroll, mientras se visualiza la esquina superior izquierda, funciona ok, pero cuando se activa el scroll, me descuadra los puntos que pinto, y al hacer el scroll seguido, me hace un efecto un poco raro. Llevo un rato rompiendome la cabeza, y aunque las coordenadas x,y del timage donde supuestamente pinto el punto son las correctas, me lo pinta desplazado. Datos: Timage mostrando una ortofoto (jpg) TPaintBox de las mismas dimensiones y posición que el timage que es donde pinto. Cada vez que redimensiono el timage, doy las mismas dimensiones al tpaintbox. Estos dos objetos están en un tscrollbox. Os adjunto una imagen del problema por si os sirve de ayuda. Esto ocurre cuando clicko en la flecha de desplazamiento varias veces. La primera vez que pinto, si no hago scroll, se pinta tal y como debe ser. Agradezco cualquier ayuda que puedan darme. Un saludo ![]()
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - Última edición por fjcg02 fecha: 09-12-2006 a las 18:49:41. |
|
#7
|
||||
|
||||
|
Error solucionado
Tras dar más vueltas de lo necesario, he encontrado el porqué de mi error. Como tengo la cabeza muy dura, no me he dado cuenta hasta ahora de que en los calculos de coordenadas utm a ratón , utilizaba tamaño - izquierda. Cuando haces scroll, la izquierda y/o el top son negativos, por lo que me desvirtuaba las coordenadas.
Arreglado. Gracias por vuestra ayuda de todas maneras, ya que aunque este problema no me lo habeis solucionado sí que me habeis ayudado en muchos otros. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#8
|
|||
|
|||
|
Duda
Buenas noches amigo, tengo un problemilla q por lo q lei en los hilos, lo resolvieron, pero tengo un detalle, yo uso builder 6. Mi problemilla es lo siguiente, como hago parq dibujar una figuea en tiempo real y poder moverla sobre la pantalla? Les agradeceria su amable atencion.
Saludos |
|
#9
|
||||
|
||||
|
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#10
|
|||
|
|||
|
Para pintar o rellenar la figuras como sería.
ejemplo recangulos zules, elipses rojas. |
|
#11
|
||||
|
||||
|
Hola cenedelphi.
Por favor te ruego que realizes un nuevo hilo en mismo foro con tu consulta, de ese modo tenés más posibilidades de encontrar respuesta que reviviendo un hilo antiguo. Te aconsejo usar un título sugestivo como por ejemplo 'Pintar figuras geométricas' o similar. Un saludo y gracias por tu colaboración. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| dibujar en un TImage una imagen | Drake | C++ Builder | 5 | 03-07-2006 01:29:02 |
| Dibujar en Delphi una imagen OLE de access | Esti | Conexión con bases de datos | 2 | 24-11-2005 14:02:00 |
| Dibujar figuras sobre un DBChart? | sano815 | Gráficos | 1 | 14-10-2005 05:21:58 |
| Obtener posicion del cursor sobre una imagen | joni | Varios | 3 | 01-04-2005 21:05:54 |
| Dibujar imagen con ImageList en StringGrid | neon | OOP | 1 | 20-12-2004 18:24:44 |
|