Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problema Con Zoom En ScrollArea
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Con Zoom En ScrollArea 
 
Hola!

Hace ya bastante tiempo hice este ejemplo. Casi ni me acuerdo de el.

 ejemplo_con_scrollarea

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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Zoom En ScrollArea 
 
Hola Julio.

jsbsan escribió: [Ver mensaje]

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.

jsbsan escribió: [Ver mensaje]

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"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.

 escalarimagen

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Algoritmo Para Hacer Zoom Dinámico Con La... Alaplancha Aplicaciones/Fragmentos de Código 5 Miercoles, 26 Diciembre 2012, 04:05 Ver último mensaje
jousseph
No hay nuevos mensajes Unos Detalles Con Las Imágenes Cargadas E... jousseph Controles/Librerías/Componentes 9 Jueves, 04 Julio 2013, 09:30 Ver último mensaje
Shell
No hay nuevos mensajes ¿ Existe Una Forma Sencilla De Hacer Un Z... Shell General 3 Viernes, 05 Julio 2013, 05:21 Ver último mensaje
jousseph
No hay nuevos mensajes ScrollArea Barra Vertical gambafeliz General 14 Viernes, 11 Octobre 2019, 17:45 Ver último mensaje
gambafeliz
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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
No puede descargar archivos
No puede publicar eventos en el calendario