Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
Win a copy of The Journey To Enterprise Agility this week in the Agile and Other Processes forum! And see the welcome thread for 20% off.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Junilu Lacar
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Ganesh Patekar
  • Tim Moores
  • Pete Letkeman
  • Stephan van Hulst
Bartenders:
  • Carey Brown
  • Tim Holloway
  • Joe Ess

How optimize paintComponent?  RSS feed

 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

I'm developing an application that draw a shape over an image and then after clic a button, the application calculate all the points that are into the shape and paint it with the same color as the shape.
I paint the shape in the paintComponent method. My problem is that performance of the application descends dramatically in the moment that have to repaint all this points. How can I increase the performance?

I have the rectangle that includes the shape and I use a byte[] to store the points (1 are into the shape, 0 are out).

Thank's a lot.
 
Ranch Hand
Posts: 1535
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Try using the shape to set the clip for the graphics context and then draw the image.

The image pixels that fall inside the clipping shape should be the only ones rendered.
 
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And for painting the image in a different color, take a look at the class RGBImageFilter.
 
joan wo
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

Thank's a lot for your replies.

I have two doubts:
- In the shape I only have the points of the border of the shape. I have to find all the points of the interior of the shape, is in this process when the process is too slow. How can I use the setClip method to obtain the points of the interior?
- Is possible to call paintComponent (with reapint) only when there are a change on the image. I've tried to do it, but then the shape is not ever repaint it, and disappears.

Thank's.
 
Craig Wood
Ranch Hand
Posts: 1535
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!