Mostrando en DrawingArea el area visible de un ScrollArea - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Mostrando en DrawingArea el area visible de un ScrollArea (/thread-1744.html) |
Mostrando en DrawingArea el area visible de un ScrollArea - Shell - 24-07-2024 Buenas!. En este caso he añadido el evento mousemove y he activado la propiedad Tracking del ScrollArea. Al principio el primer problema que me encontré es que me mostraba en el DrawingArea las barras de desplazamiento del ScrollArea, luego lo solucioné. Código: Private unaimagen As Image Puede que sea interesante añadirle zoom. Aún así, no funciona del todo. Lo sé por que donde salgo yo, no se muestra, llegaba tarde al senado..je, es deformación profesional. Fijaros con la barra se ven los dos senadores en la parte inferior derecha del dibujo, en cambio con el ratón no se puede. Saludos RE: Mostrando en DrawingArea el area visible de un ScrollArea - Shell - 25-07-2024 Curiosamente en el 2016 había hecho un ejemplo parecido usando el ScrollArea, pero no igual. La memoria juega malas pasadas. Han pasado ocho años. Vuelvo a hacer algo "parecido" y creo que no es la primera vez. Vamos que antes tengo que buscar de alguna forma si ya hice algo parecido, cosa que no es sencilla, entre tantos ejemplos. Lo busqué por el nombre de la imagen. Desde luego en este ejemplo es mejorado. Es diferente, hasta para dibujar la imagen en el ScrollArea usaba otro método. En el nuevo uso algo como esto: Código: Public Sub DibujarImagen() Y en el del 2016 usaba este método: Código: Public Sub DibujaMe() Creo que el uso de brochas es mejor, en parte, aunque se necesite más instrucciones. Esta forma: Código: Paint.Translate(-ScrollArea1.ScrollX, -ScrollArea1.ScrollY) Resulta un poco extraña y a la vez recuerda que es algo que sucede con respecto a la anterior coordenada. Esto me recuerda cuando en el Zx Spectrum dibujaba usando instrucciones PLOT, DRAW. Plot dibujaba un punto. y Draw un trazado, que podía ser curvo. Pero de un principio "siempre" se tenía que comenzar con un Plot, para tener un inicio de dibujo y Draw "siempre" iba tomando como referencia (que no se nombraba) la anterior coordenada, que podía ser el final de un Draw. Como veis en esa instrucción de Gambas, se usa un sistema parecido. En Gambas usando la librería Paint existe Paint.LineTo. Cita: En el caso de Translate. ( Que resulta complejo entender ciertos términos sin ejemplos y explicación lógicamente). El espacio de usuario , la matriz de transformación, etc. Cita: Ya sabemos que en Gambas usamos la clase Paint que deriva de Cairo, incluso Python y supongo que otros lenguajes, usan Cairo, ( debe ser una librería muy limitada en este lenguaje). Encontrar un manual en español que lo explique, debe ser complicado. Y es que no es, "exactamente" igual. Paint resulta más fácil de entender. Cairo hace el mismo trabajo o más, pero sobre un dibujo y este se graba y luego para mostrarlo hay que cargarlo. Cosa que en Gambas, todo lo que se haga, queda en el control DrawingArea. Nota curiosa en el ejemplo anterior. Tanto x como y no se usan. Este es el código completo del ejemplo del 2016. Fijaros Código: Private imagenfondo As Image Una cosa es lo que a ti como persona, como razonamiento te parece normal. Un origen de coordenada, un principio y es que luego no se usa. No somos máquinas. Saludos |