Delimitar area de una figura!!

20/10/2008 - 09:26 por Miguel Angel Mora | Informe spam
Buenas, Dado un programa que permite a un usuario crear figuras complejas a
partir de otras simples tego un problema cuando intento determinar si han
sido seleccionadas. Me explico:

para saber si una figura se ha seleccionado utilizo la propiedad Isvisible
de la clase Region. Las figuras estan formadas por un Camino, cada vez que
añado una nueva forma a la figura actualizo el camino y la regíon que cada
figura tiene como propiedad. Las figuras se rotan perfectamente y se
redibujan bien pero al rotarlas tengo un problema con la seleccion, ya que
hay zonas en las que no hay figura y se puede seleccionar y viceversa.
Ni que decir tiene que aplico la matriz de transformación tambien a la
región antes de consultar su propiedad Isvisible.

Y ya puestos a abusar he estado mirando pero no veo por ningún sisito
pueden formar parte de un camino imagenes e iconos y si se puede como.



Gracias por vuestra ayuda.

Preguntas similare

Leer las respuestas

#6 [Juanjo]
29/11/2008 - 13:00 | Informe spam
Hola:

Estoy haciendo algo parecido, y me he encontrado con el mismo problema
que tu. Has conseguido resolver el problema? te importaria decirme como?

un saludo

"Miguel Angel Mora" escribió en
el mensaje de noticias:
Bueno, pues existe una clase "Region" que tiene como parametros de
entrada
un Path,
Region rg= new Region(Mypath)
Ahora rg tiene entre otros un atributo de tipo registro que contiene las
coordenadas x, y ancho y largo del camino en cuestion.
Una vez hecho esto saber si se ha pinchado dentro de una figura es tan
sencillo como preguntar

if(rg.Isvisible(x,y))

donde x,y son la posicion del raton

y va de fabula, el problema es que cuando roto una figura debo cometer
algún error pues no termina de ser exactamente el perimetro de mi figura,
me
da la sensacion de que esta un poco desplazado, para terminar de
comprobarlo
asigno la region al formulario, (al hacer esto el formulario deja de ser
cuadrado y toma la forma del dibujo) y me doy cuenta que la figura se
queda
un poco abajo.

"RFOG" wrote:

Pues entonces lo que ahora no entiendo yo es tu pregunta... Si lo que
quieres es determinar si hay huecos o la forma geométrica resultante,
supongo que tendrás que irte a algoritmos geométricos que ni Win32 ni
.NET
tienen...


"Miguel Angel Mora" wrote in
message news:
> Estas equivocado un path no es un conjunto de puntos, es un conjunto de
> directivas de dibujo, puedes ir añadiendo addcircle(),
> addrectangle, addline, etc.
> y posteriormente dibujar el path en la posicion x e y que te interese.
> Gracias pero no me sirve tu respuesta
>
> "RFOG" wrote:
>
>> Como no te responde nadie, lo haré, aunque no lo tengo muy claro.
>>
>> Hasta donde yo sé, un "path" es eso: una ruta de puntos, por lo tanto
>> no
>> te
>> sirve para definir una figura con huecos etc.
>>
>> En win32 existen varios modos de coordenadas (que no sé si están en
>> .NET),
>> uno de ellos es el que se llama "coordenadas del mundo" o World
>> Coordinates
>> que te permite rotaciones, desplazamientos y deformaciones de un
>> conjunto
>> de
>> elementos GDI... o eso creo recordar.
>>
>> Lo que IMHO debes hacer no es juntar las figuras mediante un path,
>> sino
>> ir
>> manteniendo un conjunto de las figuras que forman la figura completa,
>> y
>> mediante las "coordenadas del mundo" hacer las rotaciones y
>> traslaciones
>> necesarias... o eso creo.
>>
>> "Miguel Angel Mora" wrote
>> in
>> message news:
>> > Buenas, Dado un programa que permite a un usuario crear figuras
>> > complejas
>> > a
>> > partir de otras simples tego un problema cuando intento determinar
>> > si
>> > han
>> > sido seleccionadas. Me explico:
>> >
>> > para saber si una figura se ha seleccionado utilizo la propiedad
>> > Isvisible
>> > de la clase Region. Las figuras estan formadas por un Camino, cada
>> > vez
>> > que
>> > añado una nueva forma a la figura actualizo el camino y la regíon
>> > que
>> > cada
>> > figura tiene como propiedad. Las figuras se rotan perfectamente y se
>> > redibujan bien pero al rotarlas tengo un problema con la seleccion,
>> > ya
>> > que
>> > hay zonas en las que no hay figura y se puede seleccionar y
>> > viceversa.
>> > Ni que decir tiene que aplico la matriz de transformación tambien a
>> > la
>> > región antes de consultar su propiedad Isvisible.
>> >
>> > Y ya puestos a abusar he estado mirando pero no veo por ningún
>> > sisito
>> > pueden formar parte de un camino imagenes e iconos y si se puede
>> > como.
>> >
>> >
>> >
>> > Gracias por vuestra ayuda.
>> >
>>
>> Microsoft Visual C++ MVP
>> ==>> >> Mi blog sobre programación: http://geeks.ms/blogs/rfog
>> Momentos Leves: http://momentosleves.blogspot.com/
>> Cosas mías: http://rfog.blogsome.com/
>> Libros, ciencia ficción y programación
>> >> >> Si una nación tiene un héroe, estará salvada.
>>

Microsoft Visual C++ MVP
==>> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
>> Si una nación tiene un héroe, estará salvada.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida