|
Página 1 de 1
|
Problema Con Zoom En ScrollArea
Autor |
Mensaje |
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Problema Con Zoom En ScrollArea
Hola!
Hace ya bastante tiempo hice este ejemplo. Casi ni me acuerdo de el.
En un formulario tengo un ScrollArea con una imagen y un Slider que aumenta el tamaño de la imagen dentro del ScrollArea.
Con el Slider veo que aumenta el tamaño dentro del ScrollArea, pero se crea un efecto raro a la derecha y abajo de la imagen.
Lo vemos si desplazamos la barra horizontal o la lateral del ScrollArea. Hay un problema con el escalado.
Lo que pretendo es que aumente la imagen, pero esa parte no debe verse o no debe existir.
¿ En donde esta el error ?.
¿ Se rellena ese hueco ?.
Saludos
Descripción: |
|
Descargar |
Nombre del archivo: |
ZoomTux.tar.gz |
Tamaño: |
43.9 KB |
Descargado: |
30 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ZoomTux.tar.gz |
Tamaño: |
43.9 KB |
Descargado: |
30 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ZoomTux.tar.gz |
Tamaño: |
43.9 KB |
Descargado: |
30 veces |
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#1 Lunes, 13 Octobre 2014, 12:04 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Problema Con Zoom En ScrollArea
Shell:
Es algo relacionado con las escalas, te sale distinto, porque aumentas la zona del rectangulo "mas" que las dimensiones del dibujo escalado.
He probado con esto
hBrush.Scale(dibujo.Width * (sldScale.Value / 100), dibujo.Height * (sldScale.Value / 100))
' Paint.Rectangle(0, 0, dibujo.Width, dibujo.Height)
Paint.Rectangle(0, 0, dibujo.Width * (sldScale.Value / 100), dibujo.Height * (sldScale.Value / 100))
Pero tambpoco sale bien...
|
#2 Lunes, 13 Octobre 2014, 12:52 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Problema Con Zoom En ScrollArea
Hola Julio.
Es algo relacionado con las escalas, te sale distinto, porque aumentas la zona del rectangulo "mas" que las dimensiones del dibujo escalado.
Correcto, eso es.
He probado con esto
hBrush.Scale(dibujo.Width * (sldScale.Value / 100), dibujo.Height * (sldScale.Value / 100))
' Paint.Rectangle(0, 0, dibujo.Width, dibujo.Height)
Paint.Rectangle(0, 0, dibujo.Width * (sldScale.Value / 100), dibujo.Height * (sldScale.Value / 100))
Pero tampoco sale bien...
Quizás sea mejor que todo el proceso de dibujo este dentro de Pizarra_Draw().
Actualizarlo con los cambios del slider. E ir tomando operaciones comunes y asignarlas a variable locales.
Como poder se podra aumentar el tamaño de una imagen, supongo.
Creo que antes es mejor que lo haga en un DrawingArea y comprenda el escalado. (Espero entenderlo)
Comenzare por ahí e iré comentando.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Lunes, 13 Octobre 2014, 17:44 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Problema Con Zoom En ScrollArea
Por ahora he hecho este ejemplo que escala una imagen.
Pero no se que le pasa a las patas y las orejas del búho que hace algo raro...
Sera el filtrado.
Lo cierto es que si tomo la misma imagen y la amplio en otro visor, no sale eso.
Saludos
Descripción: |
|
Descargar |
Nombre del archivo: |
EscalarImagen.tar.gz |
Tamaño: |
16.29 KB |
Descargado: |
25 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
EscalarImagen.tar.gz |
Tamaño: |
16.29 KB |
Descargado: |
25 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
EscalarImagen.tar.gz |
Tamaño: |
16.29 KB |
Descargado: |
25 veces |
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#4 Lunes, 13 Octobre 2014, 19:36 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Problema Con Zoom En ScrollArea
He cambiado Pizarra_Draw() haciendolo de otra manera, en vez de Paint.Scale, use Brush.Scale
Public Sub Pizarra_Draw()
Dim hBrush As PaintBrush
hBrush = Paint.Image(dibujo)
hBrush.Scale(dibujo.Width * (escala / 100), dibujo.Height * (escala / 100))
Paint.Brush = hBrush
Paint.Rectangle(0, 0, escala * dibujo.Width, escala * dibujo.Height)
Paint.Fill
End
El efecto es el mismo.
Saludos.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#5 Lunes, 13 Octobre 2014, 20:37 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Problema Con Zoom En ScrollArea
El problema es el mismo, el tamaño del rectángulo donde se dibuja la imagen. Parece que el rectángulo es un poco mas grande, por poco que sea.
Luego esta la x y la y, no puede ser 0, al menos 1, donde comienza a dibujar.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#6 Lunes, 13 Octobre 2014, 20:55 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|