我们可以使用类 org.eclipse.swt.graphics.ImageLoader 来加载或者保存图像。 ImageLoader 具有一个全局的成员变量 ImageData[],它用于存储图片数据。
例子:
public class ReadAndSaveImage {
public static ImageData[] readImage(String fileName) {
ImageLoader loader = new ImageLoader();
return loader.load(fileName);
}
public static void saveImage(String fileName, ImageData[] data, int format) {
ImageLoader loader = new ImageLoader();
loader.data = data;
loader.save(fileName, format);
}
public static void main(String[] args) {
String source = "icons/ZZ_source.gif";
String saved = "icons/ZZ_save.gif";
ImageData[] imageData = ImageUtil.readImage(source);
if(imageData.length > 0) {
saveImage(saved, imageData, SWT.IMAGE_PNG);
}
}
}
save的时候SWT支持的图像格式有:
- Windows BMP file format, no compression
- Windows BMP file format, RLE compression if appropriate
- GIF file format
- Windows ICO file format
- JPEG file format
- PNG file format
IMAGE_BMP
IMAGE_BMP_RLE
IMAGE_GIF
IMAGE_ICO
IMAGE_JPEG
IMAGE_PNG