using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace vcsHATCH { public partial class Form1 : Form { PictureBox thePicBox; public Form1() { InitializeComponent(); } //------------------------------------------------------------------------------- private void Form1_Load(object sender, EventArgs e) { int i; string[] hsname; foreach (string name in Enum.GetNames(typeof(System.Drawing.Drawing2D.HatchStyle))) { listBox1.Items.Add(name); } hsname = new string[listBox1.Items.Count]; for (i = 0; i <= listBox1.Items.Count - 1; i++) { hsname[i] = listBox1.Items[i].ToString(); } Array.Sort(hsname); listBox1.Items.Clear(); listBox1.Items.AddRange(hsname); listBox1.SelectedIndex = 0; pictureBox1.Visible = true; pictureBox2.Visible = false; button1.Text = "Draw"; } //------------------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e) { Bitmap bmp; Graphics g; Color colF = Color.Black; Color colB = Color.White; System.Drawing.Drawing2D.HatchStyle hs; System.Drawing.Drawing2D.HatchBrush dbrush; thePicBox = pictureBox1; bmp = new Bitmap(thePicBox.Width, thePicBox.Height); thePicBox.Image = bmp; g = Graphics.FromImage(thePicBox.Image); hs = (System.Drawing.Drawing2D.HatchStyle)Enum.Parse(typeof(System.Drawing.Drawing2D.HatchStyle), listBox1.SelectedItem.ToString()); dbrush = new System.Drawing.Drawing2D.HatchBrush(hs, colF, colB); g.FillRectangle(dbrush, 0, 0, thePicBox.Width, thePicBox.Height); dbrush.Dispose(); g.Dispose(); } //------------------------------------------------------------------------------- private void toolStripButton1_Click(object sender, EventArgs e) { int kpt = 1; int HSIZE = 88; int VSIZE = 31; Bitmap bmp; Graphics g; string dir = ""; Color colB; Color colF; System.Drawing.Drawing2D.HatchStyle hs; System.Drawing.Drawing2D.HatchBrush dbrush; int i,j; string name; string fnameW; if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { dir = folderBrowserDialog1.SelectedPath; } thePicBox = pictureBox2; thePicBox.Size = new Size(kpt * HSIZE, kpt * VSIZE); bmp = new Bitmap(kpt * thePicBox.Width, kpt * thePicBox.Height); thePicBox.Image = bmp; g = Graphics.FromImage(thePicBox.Image); colB = ColorTranslator.FromHtml("#FFFFFF"); colF = ColorTranslator.FromHtml("#000000"); for (i = 0; i <= listBox1.Items.Count - 1; i++) { name = listBox1.Items[i].ToString(); hs = (System.Drawing.Drawing2D.HatchStyle)Enum.Parse(typeof(System.Drawing.Drawing2D.HatchStyle), name); dbrush = new System.Drawing.Drawing2D.HatchBrush(hs, colF, colB); g.FillRectangle(dbrush, 0, 0, thePicBox.Width, thePicBox.Height); dbrush.Dispose(); fnameW = dir + "\\png0_" + name + ".png"; thePicBox.Image.Save(fnameW, System.Drawing.Imaging.ImageFormat.Png); } colB = ColorTranslator.FromHtml("#2F4F4F"); colF = ColorTranslator.FromHtml("#FFFFFF"); for (i = 0; i <= listBox1.Items.Count - 1; i++) { name = listBox1.Items[i].ToString(); hs = (System.Drawing.Drawing2D.HatchStyle)Enum.Parse(typeof(System.Drawing.Drawing2D.HatchStyle), name); dbrush = new System.Drawing.Drawing2D.HatchBrush(hs, colF, colB); g.FillRectangle(dbrush, 0, 0, thePicBox.Width, thePicBox.Height); dbrush.Dispose(); fnameW = dir + "\\png1_" + name + ".png"; thePicBox.Image.Save(fnameW, System.Drawing.Imaging.ImageFormat.Png); } g.Dispose(); //htmlファイル出力 System.IO.StreamWriter sw; string[] patname0 = new string[listBox1.Items.Count]; string[] pngname0 = new string[listBox1.Items.Count]; string[] patname1 = new string[listBox1.Items.Count]; string[] pngname1 = new string[listBox1.Items.Count]; i = 0; j = 0; foreach (string fname in System.IO.Directory.GetFiles(dir, "*.png")) { if (fname.IndexOf("png0_") != -1) { pngname0[i] = System.IO.Path.GetFileName(fname); patname0[i] = (pngname0[i].Replace(".png", "")).Replace("png0_", ""); i = i + 1; } if (fname.IndexOf("png1_") != -1) { pngname1[j] = System.IO.Path.GetFileName(fname); patname1[j] = (pngname1[j].Replace(".png", "")).Replace("png1_", ""); j = j + 1; } } fnameW = dir + "\\subvbhatch.html"; sw = new System.IO.StreamWriter(fnameW, false, System.Text.Encoding.GetEncoding("shift-jis")); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine("

VB & C# HatchStyle (模様で塗りつぶす)

"); //******************************************************************* sw.WriteLine("

前景色:Black(#000000),背景色:White(#FFFFFF)

"); //******************************************************************* sw.WriteLine(""); for (i = 1; i <= listBox1.Items.Count; i = i + 2) { sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); } sw.WriteLine("
"); sw.WriteLine("\"""); sw.WriteLine(""); sw.WriteLine(patname0[i - 1]); sw.WriteLine(""); sw.WriteLine("\"""); sw.WriteLine(""); sw.WriteLine(patname0[i]); sw.WriteLine("
"); //******************************************************************* sw.WriteLine("

前景色:White(#FFFFFF),背景色:DarkSlateGray(#2F4F4F)

"); //******************************************************************* sw.WriteLine(""); for (i = 1; i <= listBox1.Items.Count; i = i + 2) { sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(""); } sw.WriteLine("
"); sw.WriteLine("\"""); sw.WriteLine(""); sw.WriteLine(patname1[i - 1]); sw.WriteLine(""); sw.WriteLine("\"""); sw.WriteLine(""); sw.WriteLine(patname1[i]); sw.WriteLine("
"); //******************************************************************* sw.WriteLine(""); sw.WriteLine(""); sw.Close(); //******************************************************************* System.Threading.Thread.Sleep(1000); //1秒待つ System.Diagnostics.Process.Start(fnameW); } //------------------------------------------------------------------------------- } }