Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 3
Ir a la página 1, 2, 3  Siguiente
 
Clase Draw Obsoleta A Partir De Gambas 3.4
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Hola!.

A partir de la versión 3.4 la clase Draw parece que queda obsoleta y debe usar la clase Paint.

http://gambasdoc.org/help/comp/gb.qt4/draw?es&v3

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: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
¿ Que debería hacer ?.

¿ Estudiar la nueva clase Paint o dedicarme a buscar otra alternativa con gambas si es que es posible ?.

Hasta ahora hice dibujos usando Draw, ahora lo que hacia ya no puedo hacerlo de la misma manera.
Si aprendo la nueva clase, puede que de aquí a x tiempo, otra vez, la clase se quede obsoleta y vuelta
a empezar. Me parece muy bien que se mejore, pero por otro lado es una "gracia". Debe ser que la
programación es así de "jodida", sobre todo si no esta bien documentada.

Que por cierto se complica mas, añadiendo otras nuevas posibilidades muy buenas.
Pero es como empezar de 0.Por ahora no me entero ni de la mitad que veo.No sabia
ni como trazar una linea.Añadiendo mas perdida de tiempo para volver hacerlo.
Ale, a ver el ejemplo de dibujo para la 3.9

A este paso, seria mejor conocer una librería común a todo el sistema operativo para dibujar,
aprovechar sus recursos si son posibles usar en gambas y olvidarme de una clase exclusiva dedicada
a gambas para dibujar que se queda obsoleta al cabo del tiempo.Me rompe todos los esquemas.


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: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Shell
Citar:
Estudiar la nueva clase Paint...

Si es mucho más potente...

Citar:
a ver el ejemplo de dibujo para la 3.9

No, ya hay un ejemplo se llama "Painting"
painting-2520ejemplo

Citar:
No sabia ni como trazar una linea.Añadiendo mas perdida de tiempo para volver hacerlo.

Mira, he hecho un pequeño ejemplo, para que veas la diferencia entre el codigo de draw y el de paint, y veras que el dibujo de paint es mucho mas "definido"
metodos-2520paint-2520vs-2520draw

Citar:
Si aprendo la nueva clase, puede que de aquí a x tiempo, otra vez, la clase se quede obsoleta y vuelta
a empezar. Me parece muy bien que se mejore, pero por otro lado es una "gracia". Debe ser que la
programación es así de "jodida", sobre todo si no esta bien documentada.

Si la programación es asi... en java,html, etc.. pasa lo mismo las palabra "obsoleto" se repite una y otra vez...

El codigo del ejemplo:
'Con PAINT
  Paint.Begin(DrawingAreaPaint)
  Paint.LineWidth = 6
  
  Paint.Brush = Paint.Color(Color.RGB(255, 0.2 * 255, 0.2 * 255, 0.6 * 255))
  Paint.MoveTo(10, 10)
  Paint.LineTo(200, 10)
  Paint.stroke 'traza (dibuja)  las ordenes anteriores
  
  Paint.Brush = Paint.Color(Color.red)
  Paint.MoveTo(20, 15)
  Paint.LineTo(200, 50)
  Paint.stroke 'traza (dibuja)  las ordenes anteriores
  
  Paint.LineWidth = 0.8  'defino un nuevo ancho para el texto
  Paint.Text("Usando Paint", 10, 100)
  Paint.stroke
  Paint.end


'Con Draw:
 Draw.Begin(DrawingAreaDraw)
  Draw.foreground = Color.RGB(255, 0.2 * 255, 0.2 * 255, 0.6 * 255)
  Draw.lineWidth = 6
  Draw.Line(10, 10, 200, 10)
  Draw.foreground = Color.red
  Draw.Line(20, 15, 200, 50)
  Draw.Text("Usando Draw", 10, 100)
  Draw.end
  


Paint-0.0.1.tar.gz
Descripción: Simple ejemplo para ver las diferencias entre los métodos de dibujo paint y draw. 
Descargar
Nombre del archivo: Paint-0.0.1.tar.gz
Tamaño: 4.98 KB
Descargado: 67 veces
Paint-0.0.1.tar.gz
Descripción: Simple ejemplo para ver las diferencias entre los métodos de dibujo paint y draw. 
Descargar
Nombre del archivo: Paint-0.0.1.tar.gz
Tamaño: 4.98 KB
Descargado: 67 veces
Paint-0.0.1.tar.gz
Descripción: Simple ejemplo para ver las diferencias entre los métodos de dibujo paint y draw. 
Descargar
Nombre del archivo: Paint-0.0.1.tar.gz
Tamaño: 4.98 KB
Descargado: 67 veces

 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Lunes, 07 Enero 2013, 12:38; editado 2 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Lo que no encuentro es la orden que sea similar  a draw.clear()  (limpiar la pantalla),

 ¿sabeis como se limpia la pantalla con paint?

Añadido:
Se me ha ocurrido dibujar un rectangulo relleno de color blanco, para que borre, pero parece que la orden
paint.fillrect
no funciona (aunque esta descrita en gambasdoc)
¿será un bug?

Lo que si funciona es esto:
  paint.Rectangle(0, 0, Me.h, Me.w)
  Paint.LineWidth = 0
  Paint.Brush = Paint.Color(Color.white) 'mi color de fondo es blanco (white), por lo tanto es como si lo borrara
  Paint.Fill(True)

     pantalla borrada      
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Lunes, 07 Enero 2013, 13:45; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Muchas gracias Julio.

Estuve viendo ejemplos, lo poquito que podemos ver,documentarlo seria lo bueno.

El problema no es hacerlo con Paint, el verdadero problema que yo veo, es por ejemplo:

Tu haces una aplicación para dibujar una figura geométrica de un cubo.Haces tus rutinas para
girarlo, mostrarlo.Y has empleado mucho tiempo, te has molestado en buscar otros ejemplos, has
tenido que aprender parte de geometría, calculo,etc.

Todas esta aplicación esta construida de alguna manera usando una librería que es exclusivamente
para Gambas.Si tu u sabes que existe el opengl,que se maneja de una manera y que Gambas le
da un soporte, mejor aprovechar esa oportunidad.Solo que tiene de por medio la traducción que hace
Gambas para llegar a usar las librerías opengl.

Digamos que es mejor para largo plazo.

No estoy muy puesto. Otro ejemplo. Si Linux usa unas librerías estandars para hacer dibujos 2D.

http://gambasdoc.org/help/comp/gb.cairo?es&v3

Creo que si cualquier lenguaje a su manera, ya sea C, Python,Java,etc, hace una llamada
a estas librerías y aprovecha los recursos que son muy potentes puede ser mejor para
el programador usar estas.

Desde luego, Paint es mejor que Draw.

Lo mismo el creador de Gambas ha hecho una aproximación a esa librería de dibujo 2D.
Tampoco es mala idea de que el programador quiera acostumbrarnos a usar unas sentencias
muy similares a la usadas para una librería como Cairo y al final con el paso del tiempo, queden estas
para siempre en el lenguaje de Gambas, descartando otras del propio Gambas por obsoletas

Es una manera de avanzar.

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: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Hola amigos,

no entiendo muy bien qué significa en inglés "deprecated"... Si significa que todas la líneas de código en las que habíamos utilizado Draw hay que cambiarlas para adaptarse a Paint, obligatoriamente, porque Draw se autodestruirá automáticamente después de 10 segundos de aparecer la versión 3.4, me parece una faena. Lo más lógico sería que un programa hecho en una versión más antigua de gambas siguiera funcionando en una más moderna, sin tener que cambiar nosotros ninguna línea de código, o al menos que esto fuese así durante un plazo razonable.

Por otro lado echo en falta en la comunidad una buena documentación de gambas en general, no tan escueta como la oficial, y sobre todo con ejemplos.

Saludos
 



 
Alaplancha - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Alaplancha:

Citar:

The Draw clase is deprecated since gambas 3.4. It is now emulated through the Paint class.


Puedes llevarte la sorpresa de que algo no funcione con la clase Draw.

Paint es como una versión próxima al componente Cairo.Cairo incorpora bastantes funciones que
lo mas probable que el autor quiera que los programadores de gambas nos vayamos acostumbrando
a una sintaxis determinada a trabajar con los gráficos de un forma, para quien sabe, en un futuro, directamente
usar los componentes de gráficos y la clase Paint desaparezca.

Imagina diferentes lenguajes cada uno con diferentes maneras de hacer un dibujo con librerías,clases dedicadas a
ese lenguaje en concreto.Y en cambio a lo mejor tenemos en Linux una librería que esta especializada en gráficos
y todos los lenguajes la usan a su manera, aprovechando esos recursos "comunes".

¿ No seria mas practico aprender a usar esa librería  común mas que reinventar la rueda ?.

Tienes que ver también que Paint es mejor que Draw. Se aplica suavizado, cosa que Draw no solía hacer.
Tiene funciones que el otro no hacia.Ahora compara esto:

http://gambasdoc.org/help/comp/gb.qt4/paint?es&v3

(Es curioso que diga muy cerrada, yo diría próxima)

y

http://gambasdoc.org/help/comp/gb.cairo/cairo?es&v3

Ahora fijate que tenemos para componentes gráficos 2D todo estos componentes:

Gráficos 2D

gb.cairo     Dibujos vectoriales basados en Cairo
gb.image     Componente de gestión de imágenes
gb.image.imlib     Rutinas de imagen basadas en la librería Imlib2
gb.image.io     Carga y almacenamiento de imágenes
gb.image.effect     Rutinas de filtrado de imagen
gb.v4l     Capturador de video basado en Video4Linux

Y ahora entra en gb.cairo.

http://gambasdoc.org/help/comp/gb.cairo?es&v3

Las posibilidades para trabajar con gráficos son mucho mayores con este componente.


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: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Alaplancha:

Citar:
no entiendo muy bien qué significa en inglés "deprecated"...

Tampoco se la traducción exacta, yo diria que es "quedándose obsoleto". O sea que dentro de poco (en próximas versiones de gambas3) puede ser que ya no funcione la clase draw.

Citar:
"Lo más lógico sería que un programa hecho en una versión más antigua de gambas siguiera funcionando en una más moderna, sin tener que cambiar nosotros ninguna línea de código, o al menos que esto fuese así durante un plazo razonable."

Cada poco tiempo aparecen nuevas tecnologías, o cambian las APIS y los lenguajes (o librerias que usan), dejan de funcionar teniéndose que actualizarse para recoger estos nuevos cambios.  La informática esta en pleno desarrollo y evolución actualmente.


Ayer, sin ir mas lejos, para que veas que pasa en todos los lenguajes (java, html, etc..), estaba viendo un video tutorial de python sobre como hacer un programa para acceder a los mensajes de twitter... y a la vez ,yo estaba escribiendo el código que decian... A ellos le funcionó pero a mi no... despues de revisarlo una y otra vez... recorde que hace poco twitter cambio su API de programación, con lo cual lo que decian en el video ya no se podia hacer como lo estaban explicando... total que perdi el tiempo  

Citar:
Por otro lado echo en falta en la comunidad una buena documentación de gambas en general, no tan escueta como la oficial, y sobre todo con ejemplos.

Hace un par de años, también escribi algo similar a lo que dices.......
En el foro ha habido gente que aportó muchos tutoriales interesantes (mirate las entradas de Soplo, por ejemplo)....   y yo he aportado lo que he podido (ejemplos, videotutoriales para iniciarse)...
No se si en las listas de gambas en ingles hay más información sobre el lenguaje y/o componentes, supongo que algo habrá....
Tambien está el libro de "A Beginner's Guide to Gambas.Revised for version 3", aunque es para iniciarse...
Te aconsejo que veas (y estudies) tambien los ejemplos que trae el propio IDE de gambas, que seguro que encuentras cosas interesantes.
Si te surgen dudas, o no sabes como hacer algo, preguntalo en el foro, con suerte alguien te responderá o de dará alguna idea de como hacerlo...
 




===================
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: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Julio:

Preguntabas como limpiar el DrawingArea. Directamente escribes el nombre del componente y usas el método Clear
Después de limpiar se queda el color de fondo. Se podría hacer al principio de comenzar cada dibujo.

Estoy intentando hacer un dibujo pero sin tener la propiedad Cached a true y me encuentro siempre el error de
que no sabe en que componente debe dibujar. Se que hay dos maneras, cuando su valor es false, debemos hacer
un refresco del componente.Con la propiedad Cached a true no tengo problema.

Estuve mirando el ejemplo de Painting y no encuentro por ningún lado del código el método Paint.Begin
Se ven las instrucciones de dibujo, pero no se ve esa instrucción en concreto.

Existe el método Draw, pero lo esta utilizando para la escala y rotación del dibujo.

Y es que para dibujar se debe usar Paint.Begin(componente)..Paint.end.

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: Clase Draw Obsoleta A Partir De Gambas 3.4 
 
Shell

Citar:
como limpiar el DrawingArea. Directamente escribes el nombre del componente y usas el método Clear

Osea que si el drawingArea, se llama "AreaDeDibujo", con poner "AreaDeDibujo.clear()", se borra el contenido...  

Lo he probado, pero no consigo el efecto que necesito  

Citar:
Y es que para dibujar se debe usar Paint.Begin(componente)..Paint.end.

Pues si, es raro... lo que he visto es que en las propiedades del DrawingArea1, esta puesto la propiedad "Cached" como "false" y la propiedad "painted" como "true"...a lo mejor tiene que ver algo con eso, que  sepa Paint donde tiene que "empezar" a dibujar...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Jueves, 10 Enero 2013, 22:10; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Tipo Draw? pittusa General 0 Domingo, 10 Abril 2011, 20:31 Ver último mensaje
pittusa
No hay nuevos mensajes Rendimiento De La Orden Draw... jsbsan General 5 Viernes, 08 Junio 2012, 16:29 Ver último mensaje
jsbsan
No hay nuevos mensajes Problema De Administrar Base De Datos En G... LIberto Bases de Datos 8 Lunes, 21 Abril 2014, 19:08 Ver último mensaje
jguardon
No hay nuevos mensajes Draw Vs Paint ahtonio General 3 Domingo, 18 May 2014, 09:59 Ver último mensaje
ahtonio
 

Publicar nuevo tema  Responder al tema  Página 1 de 3
Ir a la página 1, 2, 3  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
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
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron