コード例 #1
0
        // 안티에일리어싱 기능을 사용하지 않고 이미지를 늘리기 위한 함수 입니다.
        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;
        }
コード例 #2
0
        //다른 프로그램에서 사용될 경우 비트맵으로 저장하기 위한 기능 입니다.
        void BMPsave()
        {
            Bitmap Obmp = new Bitmap(16, 16);

            Original_View.DrawToBitmap(Obmp, new Rectangle(0, 0, 16, 16));
            Obmp.Save("Save" + countSave + ".bmp");
            countSave++;
        }
コード例 #3
0
        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");
        }
コード例 #4
0
        /// <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);
        }