private Image makeImage() {
		//            byte[] r,g,b;
		//                r = new byte[256];
		//                g = new byte[256];
		//                b = new byte[256];
		//                for(int i=0; i<256; i++) {
		//                    r[i] = (byte)i;
		//                    g[i] = (byte)i;
		//                    b[i] = (byte)i;
		//                }
		//                ColorModel colorModel = new IndexColorModel(8, 256, r, g, b);




		if (pixels1 == null) {
			int i = 0;
			pixels1 = new byte[getWidth()*getHeight()];
			pixels2 = new byte[getWidth()*getHeight()];
			for (i = 0; i < actions.length; i++)
				if (actions[i].isEnabled())
					actions[i].apply(pixels1, getWidth(), getHeight());
		} else {
			for (int i = 0; i < filters.length; i++) {
				if (filters[i].isEnabled()) {
					filters[i].apply(pixels1, pixels2, getWidth(), getHeight());
					byte[] t = pixels1;
					pixels1 = pixels2;
					pixels2 = t;
				}
			}
			for (int i = 0; i < actions.length; i++)
				if (actions[i].isEnabled())
					actions[i].apply(pixels1, getWidth(), getHeight());
		}
		newImage = false;
		if (image == null) {
			image = createImage(source = new MemoryImageSource(getWidth(), getHeight(), colorModel, pixels1, 0, getWidth()));
			source.setAnimated(true);
		} else
			source.newPixels(pixels1, colorModel, 0, getWidth());
		return image;
	}