Parte De Una Imagen En DrawingArea


Subject: 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.

Subject: 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

Subject: 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

Profile PM  
Subject: 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!

Subject: 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


Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1103s (PHP: -33% SQL: 133%)
SQL queries: 23 - Debug Off - GZIP Enabled