コード例 #1
0
        private void SaveSubtitles()
        {
            DirectoryInfo di    = new DirectoryInfo(Environment.CurrentDirectory);
            List <string> files = new List <string>();
            Regex         r     = new Regex(@"Line\d*\.bmp");

            foreach (var f in di.GetFiles("*.bmp"))
            {
                if (r.IsMatch(f.Name))
                {
                    new FileInfo(f.FullName).Delete();
                }
            }
            for (int currentline = 0; currentline < textBox.Lines.Length; currentline++)
            {
                string text   = "";
                Bitmap result = null;
                if (textBox.Lines[currentline].Length != 0)
                {
                    result = ImageDrawer.LineBitmap(textBox.Lines[currentline]);
                    text   = textBox.Lines[currentline];
                    while (text.EndsWith(" ") || text.EndsWith(" "))
                    {
                        text = text.Remove(text.Length - 1, 1);
                    }
                    if (text.EndsWith(":") || text.EndsWith(":"))
                    {
                        continue;
                    }
                    if (text.Contains("%"))
                    {
                        text = text.Split('%')[0];
                    }
                    else if (text.Contains("%"))
                    {
                        text = text.Split('%')[0];
                    }
                    if (text == "")
                    {
                        continue;
                    }
                    if (result != null)
                    {
                        result.Save(String.Format("Line{0}.bmp", currentline));
                    }
                }
            }
            Notice("印刷完了");
        }
コード例 #2
0
        private void PrintSubtitle()
        {
            Bitmap result = null;

            if (pictureBox1.Image != null)
            {
                pictureBox1.Image.Dispose();
            }
            if (textBox.Lines.Length != 0)
            {
                int currentline = 0;
                int charactors  = 0;
                while (true)
                {
                    charactors += textBox.Lines[currentline].Length + 1;//+1は改行コード
                    if (charactors > textBox.SelectionStart)
                    {
                        break;
                    }
                    else if (currentline >= textBox.Lines.Length - 1)
                    {
                        break;
                    }
                    currentline++;
                }
                if (currentline < 0 || currentline >= textBox.Lines.Length)
                {
                    return;
                }
                result = ImageDrawer.LineBitmap(textBox.Lines[currentline]);
            }
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image.Dispose();
            }
            //PictureBox1に表示する
            pictureBox1.Image = result;
        }