Prev: Error message I can't figure out
Next: Java Swing Question: Robot Screenshot does odd things when closeto the mouse cursor
From: George Weis on 23 Feb 2010 14:11 Hi: I'm trying to write a simple screen enlarger. The basic algorithm is this: a.) Get current mouse coordinates. b.) Take a screen shot using a rectangle consisting of (mouse X, mouse Y, 150, 150) c.) Create a new scaled image from the screen shot with a height and width of 300. This should "zoom" 2 X for the portion of the screen the mouse cursor is on and show it in a 300 X 300 box (the image is drawn on the glass panel on top of the other root panels). This doesn't produce the result I want. The screen shot looks fine if I take the screen shot 350 pixels away from the current mouse coordinates, in other words (mouse X + 350, mouse Y + 350, 150, 150). But, if I try to take the screen shot too close to the current X and Y, I get double or triple images of the same area in the image. I can't attach a sample image, but it looks like this, each number representing one of the images. 1 | 2 | 3 | | | | ---- | | | | -------- --- | | -------------------- Anyone know what is causing this behavior? And how to get rid of it? And by the way, I freely admit I am a newbie, so if anyone knows a better way to render a zoom of an arbitrary part of a User Frame, please let me know. Thanks, George
From: John B. Matthews on 23 Feb 2010 15:11
In article <2bdae8c9-029e-4466-9f41-c7f9b6020fa4(a)y7g2000vbb.googlegroups.com>, George Weis <wgweis(a)omsoft.com> wrote: > Hi: > I'm trying to write a simple screen enlarger. The basic > algorithm is this: > > a.) Get current mouse coordinates. > b.) Take a screen shot using a rectangle consisting of (mouse X, > mouse Y, 150, 150) > c.) Create a new scaled image from the screen shot with a height and > width of 300. > This should "zoom" 2 X for the portion of the screen the mouse cursor > is on and show it in a 300 X 300 box (the image is drawn on the glass > panel on top of the other root panels). > > This doesn't produce the result I want. > > The screen shot looks fine if I take the screen shot 350 pixels away > from the current mouse coordinates, in other words (mouse X + 350, > mouse Y + 350, 150, 150). > ... > Anyone know what is causing this behavior? And how to get rid of it? > And by the way, I freely admit I am a newbie, so if anyone knows a > better way to render a zoom of an arbitrary part of a User Frame, > please let me know. I think Pete's right about the "video feedback" effect. Here's an alternate way to get a BufferedImage of a component that can be scaled _ad_lib_. On the downside, the image will be "pixelated," accordingly. <http://groups.google.com/group/comp.lang.java.gui/msg/662e54ff77c3e6f8> You can get a smoother result by adjusting the graphics context's transform. Here's an example that scales to fill the enclosing panel <http://groups.google.com/group/comp.lang.java.gui/msg/3f1781d063cae9e7> -- John B. Matthews trashgod at gmail dot com <http://sites.google.com/site/drjohnbmatthews> |