internal virtual void converttobitmap(string filename, int mask, int outline1, int outline2, int shadow, string samp) { Aokbitmap b = new Aokbitmap(mask, outline1, outline2, shadow); b.sample = samp; b.Write(filename, this.picture, this.width, this.height); }
public void Writemasks(String inputfile, String outputfile, int choice) { int i3, i2, i1, n, m, j, k; imagehandler img = new imagehandler(); img.loadbitmap(inputfile, 0); byte[][] f = img.returnrawpixels(); int width = (f[0]).Length; int height = f.Length; int[][] newframe = RectangularArrays.RectangularIntArray(height, width); for (int i = 0; i < height; i++) { for (int i4 = 0; i4 < width; i4++) { newframe[i][i4] = f[i][i4] & 0xFF; } } int mask = newframe[height - 1][0]; switch (choice) { case 1: for (i3 = 0; i3 < height; i3++) { for (int i4 = 0; i4 < width; i4++) { if (newframe[i3][i4] == mask) { newframe[i3][i4] = this.outputmask; } else { newframe[i3][i4] = 255; } } } break; case 2: for (i3 = 0; i3 < height; i3++) { int i4; for (i4 = 0; i4 < width - 1; i4++) { if (newframe[i3][i4] == mask && newframe[i3][i4 + 1] != mask && i4 + 1 != width - 1) { newframe[i3][i4] = -2; } } for (i4 = width - 1; i4 > 0; i4--) { if (newframe[i3][i4] == mask && newframe[i3][i4 - 1] != mask && i4 + 1 != width - 1) { newframe[i3][i4] = -2; } } } for (i2 = 0; i2 < width; i2++) { int i4; for (i4 = 0; i4 <= height - 2; i4++) { if (newframe[i4][i2] == mask && newframe[i4 + 1][i2] != mask && newframe[i4 + 1][i2] != -2) { newframe[i4][i2] = -2; } } for (i4 = height - 1; i4 > 0; i4--) { if (newframe[i4][i2] == mask && newframe[i4 - 1][i2] != mask && newframe[i4 - 1][i2] != -2) { newframe[i4][i2] = -2; } } } for (i1 = 0; i1 < height; i1++) { for (int i4 = 0; i4 < width; i4++) { if (newframe[i1][i4] != -2) { newframe[i1][i4] = this.outputmask; } } } break; case 3: for (i1 = 0; i1 < height; i1++) { for (int i4 = 0; i4 < width; i4++) { if (newframe[i1][i4] < 16 || newframe[i1][i4] > 23) { newframe[i1][i4] = this.outputmask; } } } break; case 4: for (i1 = 0; i1 < height; i1++) { for (int i4 = 0; i4 < width; i4++) { if (newframe[i1][i4] == 131) { newframe[i1][i4] = 131; } else { newframe[i1][i4] = this.outputmask; } } } break; case 5: for (i1 = 0; i1 < height; i1++) { int i4; for (i4 = 0; i4 < width - 1; i4++) { if (newframe[i1][i4] == mask && newframe[i1][i4 + 1] != mask && i4 + 1 != width - 1) { newframe[i1][i4] = -2; } } for (i4 = width - 1; i4 > 0; i4--) { if (newframe[i1][i4] == mask && newframe[i1][i4 - 1] != mask && i4 + 1 != width - 1) { newframe[i1][i4] = -2; } } } for (n = 0; n < width; n++) { int i4; for (i4 = 0; i4 <= height - 2; i4++) { if (newframe[i4][n] == mask && newframe[i4 + 1][n] != mask && newframe[i4 + 1][n] != -2) { newframe[i4][n] = -2; } } for (i4 = height - 2; i4 > 0; i4--) { if (newframe[i4][n] == mask && newframe[i4 - 1][n] != mask && newframe[i4 - 1][n] != -2) { newframe[i4][n] = -2; } } } for (m = 0; m < height; m++) { int i4; for (i4 = 0; i4 < width - 1; i4++) { if (newframe[m][i4] == mask && newframe[m][i4 + 1] != mask && i4 + 1 != width - 1) { newframe[m][i4] = -3; } } for (i4 = width - 1; i4 > 0; i4--) { if (newframe[m][i4] == mask && newframe[m][i4 - 1] != mask && i4 + 1 != width - 1) { newframe[m][i4] = -3; } } } for (j = 0; j < width; j++) { int i4; for (i4 = 0; i4 <= height - 2; i4++) { if (newframe[i4][j] == mask && newframe[i4 + 1][j] != mask && newframe[i4 + 1][j] != -3) { newframe[i4][j] = -3; } } for (i4 = height - 2; i4 > 0; i4--) { if (newframe[i4][j] == mask && newframe[i4 - 1][j] != mask && newframe[i4 - 1][j] != -3) { newframe[i4][j] = -3; } } } for (k = 0; k < height; k++) { for (int i4 = 0; i4 < width; i4++) { if (newframe[k][i4] != -3) { newframe[k][i4] = this.outputmask; } } } break; default: Console.WriteLine("Unrecognized command"); break; } Aokbitmap b = new Aokbitmap(this.outputmask, this.outline1, this.outline2, this.shadow); b.Write(outputfile, newframe, f[0].Length, f.Length); }