// 안티에일리어싱 기능을 사용하지 않고 이미지를 늘리기 위한 함수 입니다. void Zoomimg() { Bitmap Obmp = new Bitmap(16, 16); //Original Original_View.DrawToBitmap(Obmp, new Rectangle(0, 0, 16, 16)); Bitmap Rbmp = new Bitmap(80, 80); //Resize for (int x = 0; x < 16; x++) //Resize - No Anti-Aliasing { for (int y = 0; y < 16; y++) { Color value = Obmp.GetPixel(x, y); int _x = x * 5, _y = y * 5; for (int X = 0; X < 5; X++) { for (int Y = 0; Y < 5; Y++) { Rbmp.SetPixel(_x + X, _y + Y, value); } } } } Zoom_View.BackgroundImage = Rbmp; }
//다른 프로그램에서 사용될 경우 비트맵으로 저장하기 위한 기능 입니다. void BMPsave() { Bitmap Obmp = new Bitmap(16, 16); Original_View.DrawToBitmap(Obmp, new Rectangle(0, 0, 16, 16)); Obmp.Save("Save" + countSave + ".bmp"); countSave++; }
void BMPsave(int Arry_value, char Text_value) { Bitmap Obmp = new Bitmap(16, 16); Original_View.DrawToBitmap(Obmp, new Rectangle(0, 0, 16, 16)); char[] replace = new char[] { '\\', '/', ':', '*', '?', '"', '<', '>', '|' }; foreach (char i in replace) { if (Text_value == i) { Text_value = '_'; } } Obmp.Save(AutoSaveFileName + "\\" + Arry_value + " " + Text_value + ".bmp"); }
/// <summary> /// 입력된 문자를 비트맵을 사용하여 아두이노 전자광판에 알맞게 16진수로 바꾸어 주는 함수 입니다. /// </summary> /// <param name="input">16진수 코드로 바꾸고 싶은 문자를 입력 합니다.</param> /// <returns></returns> string Bmp2Hex(string input) { Original_TEXT.Text = input; string codeResult = null; Bitmap Obmp = new Bitmap(16, 16); Original_View.DrawToBitmap(Obmp, new Rectangle(0, 0, 16, 16)); Byte[] PatternL = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; Byte[] PatternR = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; for (int H = 0; H < 16; H++) //0부터 15까지 총 16번 반복 합니다. 배열은 0에서 부터 시작 한다는 점 잊지 마세요! { for (int L = 0; L < 8; L++) { double multiple = 0; if (Obmp.GetPixel(7 - L, H).R >= 127) { multiple += Math.Pow(2, L); } PatternL[H] += (byte)multiple; } for (int R = 8; R < 16; R++) { double multiple = 0; if (Obmp.GetPixel(23 - R, H).R >= 127) { multiple += Math.Pow(2, R - 8); } PatternR[H] += (byte)multiple; } codeResult = " 0x" + BitConverter.ToString(PatternL).Replace("-", ",0x"); codeResult += ",\r\n"; codeResult += " 0x" + BitConverter.ToString(PatternR).Replace("-", ",0x"); codeResult += ", //" + input + enter; } return(codeResult); }