Parte De Una Imagen En DrawingArea


Objetivo: Parte De Una Imagen En DrawingArea
Que tal!

Estoy tratando de desplegar en un DrawingArea una parte de una Imagen, pero no lo logro............. ya lei la documentación ( http://gambasdoc.org/help/comp/gb.qt4/draw/image?v3 ) pero lo que hace es escalar toda la imagen.

El código con el que estoy probando es el sig, y la imagen es http://commondatastorage.googleapis...cards.jfitz.png

' gambas class file

Private img_cards As Image

Public Sub _new()

img_cards = Image.Load("data/cards.png")

End

Public Sub DrawingArea1_Draw()

Dim i, j As Integer
Dim x, y As Integer

i = 1
j = 1
x = img_cards.W / 13
y = img_cards.H / 4
Draw.Image(img_cards, 50, 50, x, y, i * x, j * y, x, y)
' size card: 73x98
' size img: 949x392
' imgs: 13x4

End


Estoy usando gambas 3.4.1, he intentado con gb.gtk y gb.qt4

[System]
OperatingSystem=Linux
Kernel=3.2.0-48-generic-pae
Architecture=x86
Distribution=Ubuntu 12.04.2 LTS
Desktop=GNOME
Theme=QGtk
Language=en_US.UTF-8
Memory=988M

[Libraries]
GStreamer=libgstreamer-0.10.so.0.30.0
GTK+=libgtk-x11-2.0.so.0.2400.10
Poppler=libpoppler.so.19.0.0
Qt4=libQtCore.so.4.8.1
SDL=libSDL-1.2.so.0.11.3

Espero alguien me pueda dar un norte de como usar Draw.Image()

Gracias y Saludos.

Objetivo: Re: Parte De Una Imagen En DrawingArea
Hola razaAztk!.

Antes de nada comentarte que tienes el ejemplo Painting en Gambas.

Y ahora una posible solución:

Tienes que usar image en vez de picture. Y usar el método Copy.
Hice un ejemplo hace tiempo:

http://foro.gambas-es.org/viewtopic...light=troceador

Ahora vayamos al método copy:

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

Saludos

Objetivo: Re: Parte De Una Imagen En DrawingArea
Hola

La verdad es que la clase Draw tiende a estar obsoleta con el desarrollo de la clase Paint. Supongo que dentro de poco será completamente substituida.

Usando la clase Paint tu ejemplo queda de esta forma tan similar a la tuya:

Public Sub DrawingArea1_Draw()

Dim i, j As Integer
Dim x, y As Integer

i = 3
j = 1
x = img_cards.W / 13
y = img_cards.H / 4
Paint.DrawImage(img_cards, 50, 50, x, y, 1, Rect(x * i, y * j, x, y))
'http://gambasdoc.org/help/comp/gb.qt4/paint/drawimage?es&v3
' size card: 73x98
' size img: 949x392
' imgs: 13x4

End


Ahora sí podemos usar sprites en nuestros códigos!!

Saludos

Perfil MP  
Objetivo: Re: Parte De Una Imagen En DrawingArea
Hey! gracias por su ayuda, me ha servido muy bien la solución de jguardon; pero igual la de Shell suena bien.

Tengo otra duda, aunque creo ya lo han comentado............ qué es más eficiente, usar una Image o una Picture?

Gracias y Saludos!

Objetivo: Re: Parte De Una Imagen En DrawingArea
razaAztk:

Creo que si quieres trabajar con DrawingArea puede ser mejor Image y para el resto,
picture. Claro que puedes convertir ente image y picture.

Depende de lo que quieras hacer.


Saludos


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.6984s (PHP: -87% SQL: 187%)
Consultas SQL: 45 - Debug off - GZIP Activado