import java.awt.*; import java.awt.image.*; import Plot; class Pembesaran extends Plot { public Pembesaran() { } public Pembesaran(int w, int h) { super(w, h); } public Pembesaran(Image img) { super(img); } public Image Magnify(Component root, int zoom, int grid) { int w = width*zoom; int h = height*zoom; int magGlass[] = new int[w*h]; boolean hasBorder = (grid & 0xff000000) != 0; int i = 0; int k = 0; for (int y = 0; y < height; y++) { for (int v = 0; v < zoom; v++) { for (int x = 0; x < width; x++) { int pix = pixel[i++]; for (int u = 0; u < zoom; u++) { magGlass[k++] = (hasBorder & ((u == 0) | (v == 0))) ? grid : pix; } } i -= width; } i += width; } return root.createImage(new MemoryImageSource(w, h, magGlass, 0, w)); } public boolean setPixel(int pix, int x, int y) { if ((x >= 0) & (x < width) & (y >= 0) & (y < height)) pixel[y*width+x] = pix; return true; } }