[Gambas-user] an "Is this possible question" about images

richard terry rterry at ...1946...
Sat Apr 16 00:53:03 CEST 2011


On Saturday 16 April 2011 00:23:47 Shane Powell wrote:

Thanks heaps to shane, Caveat and all - I'll try a look at all this today and 
report back.

Regards

Richard

> On 15/04/11 22:58, richard terry wrote:
> > On Friday 15 April 2011 17:02:25 richard terry wrote:
> > Hi Kevin/List,
> >
> > I took at quick look at this, but my lame brain never functions with
> > basic mathematical problems, I enclose an embryonic code.
> >
> > This 'sort of' works, theres a drawing area into which I loaded the image
> > of a shoulder Xray and then another  on top which will be the magnifier.
> > I put a couple of textboxes on it to change some of the internal values,
> > but can't seem to figure out the magnification factors.
> >
> > If I click over this it does move around and magnify, albeit not lined up
> > properly and sometimes it seems to get lost. It would be nice to have
> > this be say a circle, with a border, and be accurate, maybe someone can
> > modfy the code to make it work.
> >
> > Any help appreciated.
> >
> >> On Friday 15 April 2011 16:15:13 Kevin Fishburne wrote:
> >> Thanks, and to  Rolf-Werner Eilert's reply, I'll take a look at these
> >> suggestions when I go home.
> >>
> >> I need a little 'side project' to stave off the bordum of the hum-drum
> >> debugging of the main project.
> >>
> >> Will post back my  sucess or lack therof
> >>
> >> Regards
> >>
> >> Richard
> >>
> >>> On 04/15/2011 12:47 AM, richard terry wrote:
> >>>>> Do you need it to look like a fisheye-style lens effect, or just
> >>>>> box-zoom an area? If the latter this can be done easily in gb code.
> >>>>
> >>>> Just the box-zoom .
> >>>>
> >>>> Any change of you giving me a helping hand? I've not done anything
> >>>> much with images or drawing.
> >>>>
> >>>> I'll mail you a sample png if you want - the purpose here is to
> >>>> magnify areas of either skin, xray films or dermatascope images - all
> >>>> are images at the end of the day.
> >>>>
> >>>> Its for our open - source medical records project that Ian and I are
> >>>> chuggling slowly along with - not releasable as yet by I'm hoping that
> >>>> by the end of 2011 it will be pretty much beta.
> >>>
> >>> That is very cool. I'm doing a game so I know a little about images in
> >>> gb.
> >>>
> >>> I'm going to assume that you're using Qt or GTK and not SDL or OpenGL,
> >>> but correct me if I'm wrong. For those the easiest way to do graphics
> >>> is with a DrawingArea control. After creating it on the form I'd change
> >>> the Cached property to True so it will automatically redraw itself if
> >>> something moves over it.
> >>>
> >>> You create image variables and load image files into them like this:
> >>>
> >>> Dim/Public someimage As Image
> >>> someimage = Image.Load("FleshEatingVirusNooooo.jpg")
> >>>
> >>> You write images to the DrawingArea control like this:
> >>>
> >>> Draw.Begin(DrawingArea1)
> >>>     Draw.Image(someimage, X, Y, [Width, Height, SrcX, SrcY, SrcWidth,
> >>> SrcHeight])
> >>>     ' Add more "Draw.Image" statements here to composite additional
> >>> images into the DrawingArea.
> >>> Draw.End ' Commits the composition to the DrawingArea so that it may be
> >>> seen. May need a "Wait" statement if done repeatedly.
> >>>
> >>> The [bracketed] parameters are optional. someimage is the source and
> >>> the DrawingArea is the target. You can specify a subset of the source
> >>> (the area to be zoomed) by playing with SrcX and SrcY (upper-left
> >>> corner of source to be drawn) and SrcWidth and SrcHeight (width and
> >>> height relative to SrcX and SrcY of source to be drawn). You can scale
> >>> the source by playing with Width and Height.
> >>>
> >>> So that the source image writes to the DrawingArea don't leave a trail,
> >>> I'd first draw the main (unzoomed) image to the DrawingArea, then draw
> >>> the zoomed area onto that for each "frame" that you draw. The logic
> >>> would go something like:
> >>>
> >>> ' Create your image variables.
> >>> ' Load images into your image variables.
> >>> Draw.Begin(DrawingAreaControlName)
> >>> ' Draw the main image into the DrawingArea.
> >>> ' Draw part of the main image into the DrawingArea adjusted by cursor
> >>> position, zoom area size and zoom level.
> >>> ' Draw text or whatever else you need to into the DrawingArea.
> >>> Draw.End
> >>>
> >>> To draw text, which is really cool, you may do something like this
> >>> inside the Draw.Begin/End:
> >>>
> >>> Draw.Foreground = Color.Black
> >>> Draw.Text("Look, it's text on an image with a crappy shadow!!!", X, Y)
> >>> Draw.Foreground = Color.White
> >>> Draw.Text("Look, it's text on an image with a crappy shadow!!!", X + 1,
> >>> Y - 1)
> >>>
> >>> I don't have any project examples that are simple enough to demonstrate
> >>> this, but if you're really having trouble I could put something
> >>> together.
> >>
> >> ------------------------------------------------------------------------
> >>--- --- Benefiting from Server Virtualization: Beyond Initial Workload
> >> Consolidation -- Increasing the use of server virtualization is a top
> >> priority.Virtualization can reduce costs, simplify management, and
> >> improve application availability and disaster protection. Learn more
> >> about boosting the value of server virtualization.
> >> http://p.sf.net/sfu/vmware-sfdev2dev
> >> _______________________________________________
> >> Gambas-user mailing list
> >> Gambas-user at lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/gambas-user
> >>
> >>
> >>
> >> ------------------------------------------------------------------------
> >>------ Benefiting from Server Virtualization: Beyond Initial Workload
> >> Consolidation -- Increasing the use of server virtualization is a top
> >> priority.Virtualization can reduce costs, simplify management, and
> >> improve application availability and disaster protection. Learn more
> >> about boosting the value of server virtualization.
> >> http://p.sf.net/sfu/vmware-sfdev2dev
> >>
> >>
> >> _______________________________________________
> >> Gambas-user mailing list
> >> Gambas-user at lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/gambas-user
> 
> this is how i would do it when the mouse cursor get to the right  or the
> bottom of the image it starts to strech but you could just limit the
> mouse travel and the rest you could make how you wanted easy i think
> hope it helps
> 




More information about the User mailing list