home *** CD-ROM | disk | FTP | other *** search
- package netscape.plugin.composer;
-
- import java.awt.image.MemoryImageSource;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStream;
-
- class ImageEncoderPlugin extends Plugin {
- private ImageEncoder encoder;
- private int width;
- private int height;
- private byte[][] pixels;
- private String fileName;
-
- public ImageEncoderPlugin(ImageEncoder var1, int var2, int var3, byte[][] var4, String var5) {
- this.encoder = var1;
- this.width = var2;
- this.height = var3;
- this.pixels = var4;
- this.fileName = var5;
- }
-
- public boolean perform(Document var1) throws IOException {
- int var2 = this.width * this.height;
- int[] var3 = new int[var2];
- int var4 = 0;
-
- for(int var5 = 0; var5 < this.height; ++var5) {
- int var6 = 0;
- byte[] var7 = this.pixels[var5];
-
- for(int var8 = 0; var8 < this.width; ++var8) {
- var3[var4++] = -16777216 | (255 & var7[var6]) << 16 | (255 & var7[var6 + 1]) << 8 | 255 & var7[var6 + 2];
- var6 += 3;
- }
- }
-
- MemoryImageSource var10 = new MemoryImageSource(this.width, this.height, var3, 0, this.width);
- ByteArrayOutputStream var11 = new ByteArrayOutputStream(this.width * this.height / 2);
- boolean var12 = this.encoder.encode(var10, var11);
- if (var12) {
- SecurityManager.enablePrivilege("SuperUser");
- FileOutputStream var9 = new FileOutputStream(new File(this.fileName));
- ((OutputStream)var9).write(var11.toByteArray());
- ((OutputStream)var9).close();
- }
-
- return var12;
- }
- }
-