BitBlt : Java Glossary

*0-9ABCDEFGHIJKLMNOPQRSTUVWXYZ (all)

BitBlt
BITBLT (BIT Block Transfer). It usually refers to copying rectangles of images, either within onscreen images, or from offscreen images to onscreen images most importantly for animation effects or smooth scrolling. The bits to be moved won’t necessarily nicely align on 32-bit boundaries. The GPUs (Graphics Processing Units) GPU (Graphics Processing Unit) s) inside video cards are specialised for this task. They may have special bitblt instructions to shovel 512 bits around at a pop, shift to deal with any misalignment and mask to avoid touching surrounding bits. A standard Pentium CPU (Central Processing Unit), in contrast, does bitblts only 32 bits at a time and has to do the shift and mask as separate operations. The Java VolatileImage class lets you store images inside the video controller’s private non-displaying memory and to manipulate them with its special purpose hardware to blast them onto the screen.

Bitblt is not always associated with animation. Text drawing is usually implemented by having precomposed images of the glyphs in the invisible part of video RAM (Random Access Memory) and using the GPU to bitblt them to the onscreen part.

Java methods that do bitblts include Graphics.drawImage ( Image sourceImg, int destx1, int desty1, int destx2, int desty2, int sourcex1, int sourcey1, int sourcex2, int sourcey2, ImageObserver observer /* usually this */) for copying between images or between image and screen and Graphics.copyArea(int x, int y, int width, int height, int dx, int dy) for copying regions within an image or from one place on the screen to another. And finally, to capture the screen an as Image, use java.awt.Robot.createScreenCapture Graphics.drawImage will scale if the source and destination rectangles are not the same size. Graphics.copyArea can’t deal with a partially obscured component. The runtime will schedule a complete repaint in that case. Instead of using the repaint mechanism, you can use Component.getGraphics to handle your animation changes.


This page is posted
on the web at:

http://mindprod.com/jgloss/bitblt.html

Optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\jgloss\bitblt.html
logo
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

IP:[65.110.21.43]
Your face IP:[54.205.176.107]
You are visitor number