读书人

Java SWT 图像 PaletteData 目录图和直

发布时间: 2012-08-29 08:40:14 作者: rapoo

Java SWT 图像 PaletteData 索引图和直接图

索引图(Indexed palette):

就是在palette中定义了一个RGB的数组,然后,每一个像素点都是一个RGB数组的坐标来到palette中去取值。

public class PaletteDirectExample {static Display display;public void drawImage(final Image image) {Shell shell = new Shell (display);shell.setLayout (new FillLayout ());shell.setSize(400, 300);shell.setLocation(600,300);Canvas canvas = new Canvas (shell, SWT.NONE);canvas.addPaintListener (new PaintListener () {public void paintControl (PaintEvent e) {e.gc.drawImage (image, 20, 20);}});shell.open ();while (!shell.isDisposed ()) {if (!display.readAndDispatch ())display.sleep ();}}public Image createIndexImage() {// ***                    PaletteData(redMask, greenMask, blueMask)PaletteData palette = new PaletteData(0xFF0000   , 0xFF00   , 0xFF);ImageData imageData = new ImageData(48,48,24,palette);for (int x=0;x<48;x++) {for(int y=0;y<48;y++) {if(y > 11 && y < 35 && x > 11 && x < 35) {imageData.setPixel(x,y,0xFFFFFF);   // Set the center to green} else {imageData.setPixel(x,y,0xFF);   // and everything else to red}}};return new Image(display,imageData);}public static void main(String[] args) {display = new Display();PaletteDirectExample e = new PaletteDirectExample();e.drawImage(e.createIndexImage());}}

?

读书人网 >图形图像

热点推荐