[Gambas-user] Drawing

javier romero cjro99 at ...67...
Wed May 3 22:55:00 CEST 2006


Hi, I try to run your example in Gambas 1.0.15, but it does'nt works.
The first time say me the form is not proper to use in this version. After that when run, no buttons appers, only the tab stripan there is not way to probe the example.

Regards
Javier



----------------------------------------
> From: timothy.marshal-nichols at ...247...
> To: gambas-user at lists.sourceforge.net
> Subject: RE: [Gambas-user] Drawing
> Date: Sat, 29 Apr 2006 15:26:29 +0100
> 
> 
> > -----Original Message-----
> > From: gambas-user-admin at lists.sourceforge.net
> > [mailto:gambas-user-admin at lists.sourceforge.net]On Behalf Of Benoit
> > Minisini
> > Sent: Wednesday, 26 April 2006 09:47
> > To: gambas-user at lists.sourceforge.net
> > Subject: Re: [Gambas-user] Drawing
> >
> >
> > On Wednesday 26 April 2006 10:39, Timothy Marshal-Nichols wrote:
> > > You must be using an older version of Gambas. The *= is just
> > > multiplication. Try:
> > >
> > >      imageWidth = imageWidth * scaleIsotropic
> > >      imageHeight = imageHeight * scaleIsotropic
> > >
> > > this the same code in long hand.
> > >
> > > The PrintImage code was to show you how to use the Resolution of the
> > > Printer and Desktop to find the required image/drawing size.
> > Its just I had
> > > code to hand using a image that I knew worked. You can still Draw a
> > > Drawing.
> > >
> > > This is what you might get:
> > >
> > > PRIVATE SUB PrintDrawing(drw AS Drawing)
> > >   DIM drawingWidth AS Integer
> > >   DIM drawingHeight AS Integer
> > >   DIM scaleIsotropic AS Float
> > >   ' Display printer dialog
> > >   IF Printer.Setup() THEN RETURN
> > >   INC Application.Busy
> > >   ' Get drawing size for the printer resolution
> > >   drawingWidth = (drw.Width * Printer.Resolution) / Desktop.Resolution
> > >   drawingHeight = (drw.Height * Printer.Resolution) / Desktop.Resolution
> > >   ' Adjust drawing size if it does not fit on the printer page
> > >   IF drawingWidth > Printer.Width OR drawingHeight > Printer.Height THEN
> > >     ' Scale Isotropic, keep aspect ratio of the image
> > >     scaleIsotropic = Min(Printer.Width / drawingWidth, Printer.Height /
> > > drawingHeight)
> > >     drawingWidth *= scaleIsotropic
> > >     drawingHeight *= scaleIsotropic
> > >   END IF
> > >   'PRINT "Width: " & drawingWidth, drw.Width, Printer.Width
> > >   'PRINT "Height: " & drawingHeight, drw.Height, Printer.Height
> > >   ' Draw drawing centred on printer page
> > >   Draw.Begin(Printer)
> > >   'Draw.Rect((Printer.Width - drawingWidth) / 2, (Printer.Height -
> > > drawingHeight) / 2, drawingWidth, drawingHeight)
> > >   Draw.Drawing(drw, (Printer.Width - drawingWidth) / 2,
> > (Printer.Height -
> > > drawingHeight) / 2, drawingWidth, drawingHeight)
> > >   Draw.End
> > >   DEC Application.Busy
> > > END
> > >
> > > Two points:
> > >
> > > 1. Convert the *= again!
> > >
> > > 2. On my system this still only prints the Drawing at the old
> > resolution.
> > > You can see if you uncomment the Draw.Rect line that the calculation for
> > > the drawing size is correct. By setting the width and height
> > the help says
> > > the drawing should be scaled. I think this has been fixed with later
> > > versions of Gambas as I know there has been some work the SVG
> > code. (I was
> > > going to upgrade after installing SUES 10.1.)
> > >
> > > Also the scaling of a Drawing when drawing on a DrawingArea
> > does not work -
> > > so it must be a problem with the Draw.Drawing method. If this method has
> > > not been fixed then you will never be able to print good image
> > at the right
> > > size.
> > >
> > > Thanks
> > >
> > > 8-{)} Timothy Marshal-Nichols
> > > <mailto: timothy.marshal-nichols at ...247...>
> > >
> >
> > If a kind people could make a little example of printing, I will
> > put it with
> > the other Gambas examples :-)
> >
> > Regards,
> >
> > --
> > Benoit Minisini
> >
> >
> >
> > -------------------------------------------------------
> > Using Tomcat but need to do more? Need to support web services, security?
> > Get stuff done quickly with pre-integrated technology to make
> > your job easier
> > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > _______________________________________________
> > Gambas-user mailing list
> > Gambas-user at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gambas-user
> >
> 
> I have created a project to demonstrate the printing of text, images and
> drawings.
> 
> There is one problem. This is with the drawing of a SVG file. When you call
> Draw.Drawing it always draws the SVG file at the same size. For example the
> following:
> 	Draw.Drawing(SVGDrawing, 10, 10, 110, 110)
> and
> 	Draw.Drawing(SVGDrawing, 10, 10, 210, 210)
> produces drawings at the original size of the drawing. The help says you
> setting the width and height should scale the drawing. Setting the width and
> height appears to have no effect. This means when printing you always get a
> thumbnail whether you want it or not.
> 
> (You could convert to a Picture, then a Image, then scale, then print. But
> this would not scale very well for printing.)
> 
> At first the thought this was just a problem with the version of gambas I
> was using (1.9.17). But I also created a version of this project in the
> stable version Gambas 1.0.15. The problem also appears to be in that version
> also. So now I am now thinking the bug is in both versions 1 and 2 of
> Gambas.
> 
> Try out the example. In ModulePrinting look at the procedure PrintDrawing.
> If you uncomment the line Draw.Rect... you can see the size the SVG size
> should print out at.
> 
> Thanks
> 
> 8-{)} Timothy Marshal-Nichols
> <mailto: timothy.marshal-nichols at ...247...>
> 

_________________________________________________________________
Descarga gratis la Barra de Herramientas de MSN
http://www.msn.es/usuario/busqueda/barra?XAPID=2031&DI=1055&SU=http%3A//www.hotmail.com&HL=LINKTAG1OPENINGTEXT_MSNBH



More information about the User mailing list