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(patname0[i - 1]);
sw.WriteLine(" | ");
sw.WriteLine("");
sw.WriteLine("");
sw.WriteLine(" | ");
sw.WriteLine("");
sw.WriteLine(patname0[i]);
sw.WriteLine(" | ");
sw.WriteLine("
");
}
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(patname1[i - 1]);
sw.WriteLine(" | ");
sw.WriteLine("");
sw.WriteLine("");
sw.WriteLine(" | ");
sw.WriteLine("");
sw.WriteLine(patname1[i]);
sw.WriteLine(" | ");
sw.WriteLine("
");
}
sw.WriteLine("
");
//*******************************************************************
sw.WriteLine("");
sw.WriteLine("");
sw.Close();
//*******************************************************************
System.Threading.Thread.Sleep(1000); //1秒待つ
System.Diagnostics.Process.Start(fnameW);
}
//-------------------------------------------------------------------------------
}
}