Please help with my Graphics2D clipping algorithm

I'm trying to write a redeye removal function which has the user click on an image to create a Stack of Circle(s) where the pupils are, then "clips" the circle(s) and applys a RasterOp against the pixels inside the clip. I found an example here (http://java.sun.com/mailers/techtips/corejava/2006/tt0923.html) and modified it to fit my needs. (Code below)
My problem is that it seems like I'm applying the RasterOp filter against the entire source (BufferedImage) and then compositing the result it on top of the source using the alpha channel. This could be a 10MP photo!
How can I make this more efficient by just applying the RasterOp against the Shape(s) which make up the clip? I tried a couple of ways, but I can't figure it out. Is there a better way to do this?
[ filterShape is called from public void paintComponent( Graphics g )]
     public void filterShape(Graphics g, Stack<Rectangle> redeyes) {
//          Create a translucent intermediate image in which we can perform
//          the soft clipping
          GraphicsConfiguration gc = ((Graphics2D) g).getDeviceConfiguration();
          BufferedImage img = gc.createCompatibleImage(this.getWidth(), this.getHeight(), Transparency.TRANSLUCENT);
          Graphics2D g2 = img.createGraphics();
//          Clear the image so all pixels have zero alpha
          g2.setComposite(AlphaComposite.Clear);
          g2.fillRect(0, 0, this.getWidth(), this.getHeight());  // sets the background to transparent
//          Render our clip shape into the image.  Note that we enable
//          antialiasing to achieve the soft clipping effect.  Try
//          commenting out the line that enables antialiasing, and
//          you will see that you end up with the usual hard clipping.
          g2.setComposite(AlphaComposite.Src);
          g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
          g2.setColor(Color.WHITE); // sets the mask for opaque
          for(int i=0;i<redeyes.size();i++) {
               Rectangle r = redeyes.elementAt(i);
               Ellipse2D.Float circle = new Ellipse2D.Float(r.x, r.y, r.width, r.height);
               g2.clip((Shape)circle);
          g2.fillRect(0, 0, this.getWidth(), this.getHeight());
//          Here's the trick... We use SrcAtop, which effectively uses the
//          alpha value as a coverage value for each pixel stored in the
//          destination.  For the areas outside our clip shape, the destination
//          alpha will be zero, so nothing is rendered in those areas.  For
//          the areas inside our clip shape, the destination alpha will be fully
//          opaque, so the full color is rendered.  At the edges, the original
//          antialiasing is carried over to give us the desired soft clipping
//          effect.
          g2.setComposite(AlphaComposite.SrcAtop);
          BufferedImage clipBI = FotoFix.applyRedeyeFix((BufferedImage)this.image);
          g2.drawImage(clipBI, 0, 0, this.getWidth(), this.getHeight(), null);
          // paint the whole g2 red to see if clip constrains the paint
//          g2.setColor(Color.RED); // sets the mask for opaque
//          g2.fillRect(0, 0, this.getWidth(), this.getHeight());
          g2.dispose();
          g.drawImage(img, 0, 0, null);
     }NOTE: The code works for a Stack.size()=1 right now, still debugging to add multiple redeyes to the clip.

@posiedee 
Thank you for using HP Support Forum. I have sent you a private message. If you’re unsure how to check your private messages please click here.
Thank you,
Omar
I Work for HP

Similar Messages

  • HT5824 I switched over from an iPhone to a Samsung Galaxy S3 & I haven't been able to receive any text messages from iPhones. Please help with turning my iMessage completely off..

    I switched over from an iPhone to a Samsung Galaxy S3 & I haven't been able to receive any text messages from iPhones. I have no problem sending the text messages but I'm not receivng any from iPhones at all. It has been about a week now that I'm having this problem. I've already tried fixing it myself and I also went into the sprint store, they tried everything as well. My last option was to contact Apple directly. Please help with turning my iMessage completely off so that I can receive my texts.

    If you registered your iPhone with Apple using a support profile, try going to https://supportprofile.apple.com/MySupportProfile.do and unregistering it.  Also, try changing the password associated with the Apple ID that you were using for iMessage.

  • How can I sync my iPhone on a different computer without erasing my applications? My iPhone was earlier synced with a PC which I don't use anymore. Please help with proper steps, if any.

    How can I sync my iPhone on a different computer without erasing my applications? My iPhone was earlier synced with a PC which I don't use anymore.
    On the new computer, I am getting a message that my all purchases would be deleted if I sync it with new iTunes library.
    Please help with proper steps, if any.

    Also see... these 2 Links...
    Recovering your iTunes library from your iPod or iOS device
    https://discussions.apple.com/docs/DOC-3991
    Syncing to a New Computer...
    https://discussions.apple.com/docs/DOC-3141

  • Please help with "You can't open the application NovamediaDiskSupressor because PowerPC applications are no longer supported." I have seen other responses on this but am not a techie and would not know how to start with that solution.

    Please help with the message I am receving on startup ""You can't open the application NovamediaDiskSupressor because PowerPC applications are no longer supported."
    I have read some of the replies in the Apple Support Communities, but as I am no techie, I would have no idea how I would implement that solution.
    Please help with what I need to type, how, where, etc.
    Many thanks
    AppleSueIn HunterCreek

    I am afraid there is no solution.
    PowerPC refers to the processing chip used by Apple before they transferred to Intel chips. They are very different, and applications written only for PPC Macs cannot work on a Mac running Lion.
    You could contact the developers to see if they have an updated version in the pipeline.

  • Hi, please help with the installation of Lightroom 4, I bought a new Mac (Apple) and I want to install a software that I have on the album cd. My new computer does not have the drives. Can I download software from Adobe? Is my license number just to be ab

    Hi, please help with the installation of Lightroom 4, I bought a new Mac (Apple) and I want to install a software that I have on the album cd. My new computer does not have the drives. Can I download software from Adobe? Is my license number just to be able to download the srtony adobe.

    Adobe - Lightroom : For Macintosh
    Hal

  • [ETL]Could you please help with a problem accessing UML stereotype attributes ?

    Hi all,
    Could you please help with a problem accessing UML stereotype attributes and their values ?
    Here is the description :
    -I created a UML model with Papyrus tool and I applied MARTE profile to this UML model.
    -Then, I applied <<PaStep>> stereotype to an AcceptEventAction ( which is one of the element that I created in this model ), and set the extOpDemand property of the stereotype to 2.7 with Papyrus.
    -Now In the ETL file, I can find the stereotype property of extOpDemand as follows :
    s.attribute.selectOne(a|a.name="extOpDemand") , where s is a variable of type Stereotype.
    -However I can't access the value 2.7 of the extOpDemand attribute of the <<PaStep>> Stereotype. How do I do that ?
    Please help
    Thank you

    Hi Dimitris,
    Thank you , a minimal example is provided now.
    Version of the Epsilon that I am using is : ( Epsilon Core 1.2.0.201408251031 org.eclipse.epsilon.core.feature.feature.group Eclipse.org)
    Instructions for reproducing the problem :
    1-Run the uml2etl.etl transformation with the supplied launch configuration.
    2-Open lqn.model.
    There are two folders inside MinimalExample folder, the one which is called MinimalExample has 4 files, model.uml , lqn.model, uml2lqn.etl and MinimalExampleTransformation.launch.
    The other folder which is LQN has four files. (.project),LQN.emf,LQN.ecore and untitled.model which is an example model conforming to the LQN metamodel to see how the model looks like.
    Thank you
    Mana

  • Want a complete migration guide to upgrade 11.1.0.7 to 11.2.0.3 database using DBUA..We are implementing R12.1.3 version and then have to migrate the default 11gR1 database to 11.2.0.3 version. Please help with some step by step docs

    Want a complete migration guide to upgrade 11.1.0.7 to 11.2.0.3 database using DBUA..We are implementing R12.1.3 version and then have to migrate the default 11gR1 database to 11.2.0.3 version. Please help with some step by step docs

    Upgrade to 11.2.0.3 -- Interoperability Notes Oracle EBS R12 with Oracle Database 11gR2 (11.2.0.3) (Doc ID 1585578.1)
    Upgrade to 11.2.0.4 (latest 11gR2 patchset certified with R12) -- Interoperability Notes EBS 12.0 and 12.1 with Database 11gR2 (Doc ID 1058763.1)
    Thanks,
    Hussein

  • Welcome. At the outset, I'm sorry for my English :) Please help with configuration Photoshop CS6 appearance. How to disable the background of the program so you can see the desktop. (same menus and tools) Chiałbym to be the same effect as CS5.

    Welcome.
    At the outset, I'm sorry for my English
    Please help with configuration Photoshop CS6 appearance.
    How to disable the background of the program so you can see the desktop. (same menus and tools)
    i wantto be the same effect as CS5.

    Please try turning off
    Window > Application Frame

  • HT201210 cont contact apple server error please help with ipad touch 4. im just fed up with apple please help me because why is it only apple with these kind of problems?

    cont contact apple server error please help with ipad touch 4. im just fed up with apple please help me because why is it only apple with these kind of problems?

    If you mean updae server
    Update Server
    Try:
    - Powering off and then back on your router.
    - iTunes for Windows: iTunes cannot contact the iPhone, iPad, or iPod software update server
    - Change the DNS to either Google's or Open DNS servers
    Public DNS — Google Developers
    OpenDNS IP Addresses
    - For one user uninstalling/reinstalling iTunes resolved the problem
    - Try on another computer/network
    - Wait if it is an Apple problem
    Otherwise what server are you talking about

  • HT3209 Purchased DVD in US for Cdn viewing. Digital download will not work in Cda or US? please help with new Digital code that will work

    Purchased DVD in US for Cdn viewing. Digital download will not work in Cda or US? please help with new Digital code that will work

    You will need to contact the movie studio that produced the DVD and ask if they can issue you a new code valid for Canada. Apple cannot help you, and everyone here in these forums is just a fellow user.
    Regards.

  • Please help with slideshow problems!

    Am using Photoshop Elements 8 and trying to make a slideshow. Have tried 4 times now and keep ending up with same problem, cannot reopen project to continue edititing.  Won't show up in orginizer and when I find on harddrive and try to open get message " wmv file cannot be opened".  How can I save a
    slideshow inprogress and be able to reopen and continue to edit and make slideshow?  I want to thank anyone who can help me with this in advance as I
    have gotten so frustrated that I want to just scream.
    Thanks

    Thanks for the help, thought I had done so but maybe not.  Anyway will have another go at it, now may I ask another
    question?  I am trying to add audio to slideshow.  I have some music I purchased thru amazon as mp3 files but I get
    message no codec and when I try to add wmv I get same message.  What type of file do I need and how can I add
    multiple songs to one slideshow.   I have one little wmv file that will go in, but it just replicates itself multiple times until
    it fills slide show. 
    Thanks again, sorry to be a bother, but this thing is driving this old man crazy.
    Date: Sun, 26 Dec 2010 20:34:32 -0700
    From: [email protected]
    To: [email protected]
    Subject: Please help with slideshow problems!
    You need to save the slideshow project in order to be able to go back later and make changes or additions to an existing slideshow . The wmv file is a final output format.
    Now you are most probably using only the Output command: that is what makes the wmv file.
    You should also do the Save Project command. (and I make it a practice to do the Save Project command before I do the Output command).
    If you look at the Elements Organizer 8 Help, there is a topic on "Create a slide show".
    -- Very close to the beginning of that topic is a screen shot of the Sldie Show Editor screen,
    -- The bar below the usual menu bar is labeled with a "B" and called the Shortcuts bar.
    -- The 1st entry on that Shortcuts bar is "Save Project"
    It is the Save Project command that saves the information about which photos, audio, etc you placed in that specific slide show so that you can come back again to do subsequent editing.  Save each Project with a unique name.
    After completing the Save Project command, you shoud see an "icon" in the Organizer for that slide show.
    Note:  you must also keep the photo files and audio files which you have used in this slide show: you can't delete them because the project file does NOT contain a copy of the photos, it only has the identification and folder location of the photo and audio files.
    >

  • Hi. I have an iPhone 4s. The music doesn't play when I connect it to my car stereo. It used to play previously but stopped playing all of a sudden. My phone is getting charged when I cut it to the USB port. Please help with this. The iOS is 6.1.3.

    Hi. I have an iPhone 4s. The music doesn't play when I connect it to my car stereo. It used to play previously but stopped playing all of a sudden. My phone is getting charged when I cut it to the USB port. Please help with this. The iOS is 6.1.3.

    Hello Priyanks,
    I found an article with steps you can take to troubleshoot issues with an iPhone not connecting to your car stereo:
    iOS: Troubleshooting car stereo connections
    http://support.apple.com/kb/TS3581
    Thank you for using Apple Support Communities.
    Best,
    Sheila M.

  • My "fn" button is stuck on only revealing mission control in Lion. With this problem none of my "f" keys will work nor can I hold "fn" and delete to delete text in opposite direction. Can someone please help with this?

    My "fn" button is stuck on only revealing mission control in Lion. With this problem none of my "f" keys will work nor can I hold "fn" and delete to delete text in opposite direction. Can someone please help with this?

    Following the fix here worked for me:
    https://discussions.apple.com/message/15680566#15680566
    except my plist file was in ~/Library instead of /Library.
    -Scott

  • Ipod Nano 6th generation setting issue - hi, when i am listening music and the screen goes to sleep my music stop playing.Please help with settings

    hi, when i am listening music and the screen goes to sleep my music stop playing.Please help with settings

    No problem.   And no worries, several people have made this same mistake!
    Either way enjoy the iPod!
    Brock

  • Please help with a Poster Frame

    I have imported an FLV into Flash using "Video Import" and selected a prebuilt skin that gives play, volume and caption control. The movie has autoplay turned off so when I viewed on the webpage it shows a black first screen and the skin beneath it. I would like to insert a poster frame that will hide when the user presses play on the skin. I was a novice with AS 1 and 3.0 is making me facepalm. Please help, I've already tried Flashkit and Actionscript.org and not gotten any answers. Thanks!!

    Okay in Frame 1 I have an AS layer I copied your code into, layer two is the movie clip with the image named 'myPoster' and the third layer contains the FLV playback named 'myVideo' so I changed the names in the code to:
    mvVideo.addEventListener(MouseEvent.CLICK,f):
    function f(e:MouseEvent):void{
    removeChil((myPoster);
    I get the following compiler errors and publish preview shows just the image:
    Scene1,Layer 'Action Script', Frame 1, Line 1 1078: Label must be a simple identifier.
    Scene1,Layer 'Action Script', Frame 1, Line 4 1084: Syntax error: expecting rightparen before semicolon.
    So I tried modifying the code to:
    mvVideo.addEventListener(MouseEvent.CLICK,f);
    function f(e:MouseEvent):void{
    removeChil((myPoster));
    Which fixed the original errors but still only the image shows and I get new compiler errors.
    Scene1,Layer 'Action Script', Frame 1, Line 4 1180:Call to a possibly undefined method removeChil.
    Scene1,Layer 'Action Script', Frame 1, Line 4 1120: Access of undefined property myPoster.
    Scene1,Layer 'Action Script', Frame 1, Line 1 1120: Access of undefined property myPoster.
    Thanks for your patience and help!

Maybe you are looking for

  • Problem after installing windows 8.1-THREAD_STUCK_IN_DEVICE_DRIVER

    After installing Windows 8.1 in my Dell inspiron 15r SE, i have been noticing that before starting up every time it shows "an error occurred THREAD_STUCK_IN_DEVICE_DRIVER check online for updates....... 

  • Substitution rule does not work in SAP CRM

    Hi, In our client, we have work flow set up for substitutions. Manager A has specified B as his substitute for approving work flow items during his absence. I checked the table T77S0, WFLOW AUTOF is set to 'X'. I checked the table HRUS_D2, here the e

  • In need of someone's help....

    Could someone tell me what could be wrong with a navigation bar, I have set up. The link http://nowellwebdesign.com/Design/Portfolio_files/Bar.swf If someone could tell me why under my products and team buttons the sub links are flashing it would hel

  • Copying a script name with different name

    Hi, I want to copy my script form which has name zform1. Now i want to copy the same script form with different name i.e zform2 in the same client. in my se71 window i do not have a copy icon on the toolbar. pls. help me on how to do this. Thanks, Ro

  • Pages are blank in next seesion

    I paste and edit text. I save and quit In Design. I open In Design. The relevant pages are blank. Where do I start troubleshooting?