GC example snippet: create an icon (in memory) : SWT Image « SWT « Java Tutorial






GC example snippet: create an icon (in memory)
/*******************************************************************************
 * Copyright (c) 2000, 2004 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
//package org.eclipse.swt.snippets;
/*
 * GC example snippet: create an icon (in memory)
 *
 * For a list of all SWT example snippets see
 * http://www.eclipse.org/swt/snippets/
 */
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.PaletteData;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class IconInMemory {

  public static void main(String[] args) {
    Display display = new Display();
    Color red = display.getSystemColor(SWT.COLOR_RED);
    Color white = display.getSystemColor(SWT.COLOR_WHITE);
    Color black = display.getSystemColor(SWT.COLOR_BLACK);

    Image image = new Image(display, 20, 20);
    GC gc = new GC(image);
    gc.setBackground(red);
    gc.fillRectangle(5, 5, 10, 10);
    gc.dispose();
    ImageData imageData = image.getImageData();

    PaletteData palette = new PaletteData(
        new RGB[] { new RGB(0, 0, 0), new RGB(0xFF, 0xFF, 0xFF), });
    ImageData maskData = new ImageData(20, 20, 1, palette);
    Image mask = new Image(display, maskData);
    gc = new GC(mask);
    gc.setBackground(black);
    gc.fillRectangle(0, 0, 20, 20);
    gc.setBackground(white);
    gc.fillRectangle(5, 5, 10, 10);
    gc.dispose();
    maskData = mask.getImageData();

    Image icon = new Image(display, imageData, maskData);
    Shell shell = new Shell(display);
    Button button = new Button(shell, SWT.PUSH);
    button.setImage(icon);
    button.setSize(60, 60);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    icon.dispose();
    image.dispose();
    mask.dispose();
    display.dispose();
  }
}








17.120.SWT Image
17.120.1.SWT can display graphic images from files
17.120.2.Creating Images
17.120.3.Creating an Image From a FileCreating an Image From a File
17.120.4.Load image from file: Create an input stream and pass the input stream to the constructor:Load image from file: Create an input stream and pass the input stream to the constructor:
17.120.5.Load image from file: an input stream and Class.getResourceAsStream()Load image from file: an input stream and Class.getResourceAsStream()
17.120.6.Creating an Empty ImageCreating an Empty Image
17.120.7.Creating an Image From an ImageData
17.120.8.Disposal Method Constants
17.120.9.Type Constants
17.120.10.Get an ImageData instance from an existing Image
17.120.11.Use ImageData to create a new imageUse ImageData to create a new image
17.120.12.Creating an Image From Another Image
17.120.13.Create an exact copy of the imageCreate an exact copy of the image
17.120.14.Create an image that has a disabled lookCreate an image that has a disabled look
17.120.15.Create an image that has the grayscale lookCreate an image that has the grayscale look
17.120.16.Images created using different flags for LabelImages created using different flags for Label
17.120.17.Drawing Images
17.120.18.Draw part of an ImageDraw part of an Image
17.120.19.Paint on an Image
17.120.20.Using code to Create ImageUsing code to Create Image
17.120.21.Rotate ImageRotate Image
17.120.22.Get ImageData from Image
17.120.23.Create ImageData from PaletteDataCreate ImageData from PaletteData
17.120.24.Create Image from byte arrayCreate Image from byte array
17.120.25.GC example snippet: create an icon (in memory)GC example snippet: create an icon (in memory)
17.120.26.Convert between SWT Image and AWT BufferedImageConvert between SWT Image and AWT BufferedImage
17.120.27.Converts an AWT image to SWT.
17.120.28.Converts a buffered image to SWT ImageData.