Java-Gaming.org Java4K winners: [ by our judges | by the community ]         
Featured games (67)
games approved by the League of Dukes
Games in Showcase (∞)
games submitted by our members



News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  Print  
  Win32 GDI PatBlt equivalent in Java (awt)?  (Read 1865 times)
0 Members and 2 Guests are viewing this topic.
Offline loom_weaver

Full Member
**

Posts: 224
Medals: 14



« on: 2010-10-25 15:08:33 »

Hello everyone,

In my game I'm using Swing/awt (think of a graphical rogue-like) and I draw hundreds of character glyphs of various size onto a canvas.  To speed things up I've created BufferedImages for all possible sizes (4pt to 128pt) of each glyph.  The different sizes are a must for what I'm trying to do.  Then during paintComponent() I draw the glyph using Graphics2D.drawImage(BufferedImage, ...).

This has worked pretty good (much faster than drawText) and I'm happy with the performance.  Here's my problem though.

I also want to be able to paint each glyph in different colors (e.g. shades due to lighting or using the same glyph but different color for different monsters).  Ideally I would have a black and white bitmap for the glyph of a certain size and then I could combine it with the color I want and PatBlt it to the destination.  PatBlt (of the Win32 GDI) would be perfect but I cannot find a Java equivalent.  http://msdn.microsoft.com/en-us/library/87akx6s4.aspx

Note that my game is a windowed application and there are lots of auxiliary windows.  Thus using a 2D framework is pretty much out of the question unless it can run in windowed mode.  Swing/awt solutions are preferred.

Any ideas?
Offline gouessej

JGO Kernel
*****

Posts: 3560
Medals: 30


TUER


« Reply #1 on: 2010-10-25 18:41:51 »

Have a look at an old version of the text renderer of JOGL. I remember that the first version uses a lot of Java2D/AWT things, you could modify it in order to use only plain Java without OpenGL.

Julien Gouesse
Offline pjt33

JGO Strike Force
***

Posts: 914
Medals: 17



« Reply #2 on: 2010-10-27 08:43:54 »

Graphics2D.drawImage is overloaded. I think you'll be able to do what you want if you use the overload which takes a BufferedImageOp.
Pages: [1]
  Print  
 
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.047 seconds with 17 queries.