using
System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Drawing.Imaging;
namespace StudySampleCSharp
... {
/**//// <summary>
/// Form1 の概要の説明です。
/// </summary>
public class Form1 : System.Windows.Forms.Form
...{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtLogo;
/**//// <summary>
/// 必要なデザイナ変数です。
/// </summary>
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Button btnForeColor;
private System.Windows.Forms.Button btnBackColor;
private System.Windows.Forms.Button btnFonts;
private System.Windows.Forms.ComboBox cmbPosition;
private System.Windows.Forms.Button btnExcute;
private System.Windows.Forms.ListBox listBoxFile;
private System.Windows.Forms.Button btnSource;
private System.Windows.Forms.Button btnDestination;
private System.Windows.Forms.TextBox txtDestination;
private System.Windows.Forms.TextBox txtSource;
private Font titleFont = new Font("MS UI Gothic",9);
private Color foreColor = Color.White;
private System.Windows.Forms.Label lblDemo;
private System.Windows.Forms.PictureBox pictureBoxDemo;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private Color backColor = Color.Transparent;
public Form1()
...{
//
// Windows フォーム デザイナ サポートに必要です。
//
InitializeComponent();
//
// TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。
//
}
/**//// <summary>
/// 使用されているリソースに後処理を実行します。
/// </summary>
protected override void Dispose( bool disposing )
...{
if( disposing )
...{
if (components != null)
...{
components.Dispose();
}
}
base.Dispose( disposing );
}
Windows フォーム デザイナで生成されたコード#region Windows フォーム デザイナで生成されたコード
/**//// <summary>
/// デザイナ サポートに必要なメソッドです。このメソッドの内容を
/// コード エディタで変更しないでください。
/// </summary>
private void InitializeComponent()
...{
this.btnSource = new System.Windows.Forms.Button();
this.listBoxFile = new System.Windows.Forms.ListBox();
this.pictureBoxDemo = new System.Windows.Forms.PictureBox();
this.txtSource = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txtDestination = new System.Windows.Forms.TextBox();
this.txtLogo = new System.Windows.Forms.TextBox();
this.btnFonts = new System.Windows.Forms.Button();
this.btnForeColor = new System.Windows.Forms.Button();
this.btnBackColor = new System.Windows.Forms.Button();
this.cmbPosition = new System.Windows.Forms.ComboBox();
this.btnExcute = new System.Windows.Forms.Button();
this.btnDestination = new System.Windows.Forms.Button();
this.lblDemo = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// btnSource
//
this.btnSource.Location = new System.Drawing.Point(512, 8);
this.btnSource.Name = "btnSource";
this.btnSource.TabIndex = 1;
this.btnSource.Text = "Source Fold";
this.btnSource.Click += new System.EventHandler(this.btnSource_Click);
//
// listBoxFile
//
this.listBoxFile.ItemHeight = 12;
this.listBoxFile.Location = new System.Drawing.Point(8, 88);
this.listBoxFile.Name = "listBoxFile";
this.listBoxFile.Size = new System.Drawing.Size(184, 304);
this.listBoxFile.TabIndex = 3;
this.listBoxFile.SelectedIndexChanged += new System.EventHandler(this.listBoxFile_SelectedIndexChanged);
//
// pictureBoxDemo
//
this.pictureBoxDemo.BackColor = System.Drawing.SystemColors.Info;
this.pictureBoxDemo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.pictureBoxDemo.Location = new System.Drawing.Point(384, 88);
this.pictureBoxDemo.Name = "pictureBoxDemo";
this.pictureBoxDemo.Size = new System.Drawing.Size(304, 304);
this.pictureBoxDemo.TabIndex = 4;
this.pictureBoxDemo.TabStop = false;
//
// txtSource
//
this.txtSource.Location = new System.Drawing.Point(80, 8);
this.txtSource.Name = "txtSource";
this.txtSource.Size = new System.Drawing.Size(408, 19);
this.txtSource.TabIndex = 5;
this.txtSource.Text = "";
//
// label1
//
this.label1.Location = new System.Drawing.Point(8, 8);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(56, 23);
this.label1.TabIndex = 6;
this.label1.Text = "Source:";
//
// label2
//
this.label2.Location = new System.Drawing.Point(8, 40);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(72, 23);
this.label2.TabIndex = 7;
this.label2.Text = "Destination:";
//
// txtDestination
//
this.txtDestination.Location = new System.Drawing.Point(80, 40);
this.txtDestination.Name = "txtDestination";
this.txtDestination.Size = new System.Drawing.Size(408, 19);
this.txtDestination.TabIndex = 8;
this.txtDestination.Text = "";
//
// txtLogo
//
this.txtLogo.Location = new System.Drawing.Point(200, 96);
this.txtLogo.Name = "txtLogo";
this.txtLogo.Size = new System.Drawing.Size(176, 19);
this.txtLogo.TabIndex = 9;
this.txtLogo.Text = "";
this.txtLogo.Validating += new System.ComponentModel.CancelEventHandler(this.txtLogo_Validating);
//
// btnFonts
//
this.btnFonts.Location = new System.Drawing.Point(200, 232);
this.btnFonts.Name = "btnFonts";
this.btnFonts.TabIndex = 11;
this.btnFonts.Text = "Fonts";
this.btnFonts.Click += new System.EventHandler(this.btnFonts_Click);
//
// btnForeColor
//
this.btnForeColor.Location = new System.Drawing.Point(200, 264);
this.btnForeColor.Name = "btnForeColor";
this.btnForeColor.TabIndex = 12;
this.btnForeColor.Text = "Front Color";
this.btnForeColor.Click += new System.EventHandler(this.btnForeColor_Click);
//
// btnBackColor
//
this.btnBackColor.Location = new System.Drawing.Point(200, 296);
this.btnBackColor.Name = "btnBackColor";
this.btnBackColor.TabIndex = 13;
this.btnBackColor.Text = "Back Color";
this.btnBackColor.Click += new System.EventHandler(this.btnBackColor_Click);
//
// cmbPosition
//
this.cmbPosition.Location = new System.Drawing.Point(200, 128);
this.cmbPosition.Name = "cmbPosition";
this.cmbPosition.Size = new System.Drawing.Size(176, 20);
this.cmbPosition.TabIndex = 14;
this.cmbPosition.SelectedIndexChanged += new System.EventHandler(this.cmbPosition_SelectedIndexChanged);
//
// btnExcute
//
this.btnExcute.Location = new System.Drawing.Point(200, 344);
this.btnExcute.Name = "btnExcute";
this.btnExcute.Size = new System.Drawing.Size(136, 23);
this.btnExcute.TabIndex = 15;
this.btnExcute.Text = "Excute";
this.btnExcute.Click += new System.EventHandler(this.btnExcute_Click);
//
// btnDestination
//
this.btnDestination.Location = new System.Drawing.Point(512, 40);
this.btnDestination.Name = "btnDestination";
this.btnDestination.TabIndex = 16;
this.btnDestination.Text = "Save Fold";
this.btnDestination.Click += new System.EventHandler(this.btnDestination_Click);
//
// lblDemo
//
this.lblDemo.BackColor = System.Drawing.SystemColors.Control;
this.lblDemo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lblDemo.Location = new System.Drawing.Point(496, 200);
this.lblDemo.Name = "lblDemo";
this.lblDemo.Size = new System.Drawing.Size(96, 24);
this.lblDemo.TabIndex = 17;
this.lblDemo.Text = "label3";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(264, 160);
this.textBox1.Name = "textBox1";
this.textBox1.TabIndex = 18;
this.textBox1.Text = "textBox1";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(264, 184);
this.textBox2.Name = "textBox2";
this.textBox2.TabIndex = 19;
this.textBox2.Text = "textBox2";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
this.ClientSize = new System.Drawing.Size(704, 422);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.lblDemo);
this.Controls.Add(this.btnDestination);
this.Controls.Add(this.btnExcute);
this.Controls.Add(this.cmbPosition);
this.Controls.Add(this.btnBackColor);
this.Controls.Add(this.btnForeColor);
this.Controls.Add(this.btnFonts);
this.Controls.Add(this.txtLogo);
this.Controls.Add(this.txtDestination);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.txtSource);
this.Controls.Add(this.pictureBoxDemo);
this.Controls.Add(this.listBoxFile);
this.Controls.Add(this.btnSource);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
#endregion
/**//// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
...{
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e)
...{
cmbPosition.Items.Add("TopLeft");
cmbPosition.Items.Add("TopRight");
cmbPosition.Items.Add("MiddleCenter");
cmbPosition.Items.Add("BottomLeft");
cmbPosition.Items.Add("BottomRight");
cmbPosition.SelectedIndex = 3;
txtDestination.Text = @"C:Documents and Settings84デスクトップpic";
Demo();
}
private void btnSource_Click(object sender, System.EventArgs e)
...{
string strFileName = "";
OpenFileDialog fDlg = new OpenFileDialog();
fDlg.Multiselect = true;
if (fDlg.ShowDialog() != DialogResult.OK)
...{
return;
}
strFileName = fDlg.FileNames[0].ToString();
txtSource.Text = strFileName.Substring(0,strFileName.LastIndexOf("/"));
for(int ix=0; ix < fDlg.FileNames.Length; ix++)
...{
strFileName = fDlg.FileNames[ix].ToString();
strFileName = strFileName.Substring(strFileName.LastIndexOf("/") + 1);
listBoxFile.Items.Add(strFileName);
}
fDlg.Dispose();
}
private void btnDestination_Click(object sender, System.EventArgs e)
...{
FolderBrowserDialog foldDlg = new FolderBrowserDialog();
if (foldDlg.ShowDialog() != DialogResult.OK)
...{
return;
}
txtDestination.Text = foldDlg.SelectedPath;
}
private void listBoxFile_SelectedIndexChanged(object sender, System.EventArgs e)
...{
string strFilePath;
if (listBoxFile.SelectedIndex < 0)
...{
return;
}
strFilePath = txtSource.Text + "/" + listBoxFile.Items[listBoxFile.SelectedIndex];
if (File.Exists(strFilePath))
...{
Image img = Image.FromFile(strFilePath);
pictureBoxDemo.Image = img;
img.Dispose();
}
}
private void btnFonts_Click(object sender, System.EventArgs e)
...{
FontDialog fontDlg = new FontDialog();
fontDlg.Font = titleFont;
if (fontDlg.ShowDialog()!= DialogResult.OK)
...{
return;
}
titleFont = fontDlg.Font;
fontDlg.Dispose();
Demo();
}
private void btnForeColor_Click(object sender, System.EventArgs e)
...{
ColorDialog colorDlg = new ColorDialog();
colorDlg.Color = foreColor;
if (colorDlg.ShowDialog()!= DialogResult.OK)
...{
return;
}
foreColor = colorDlg.Color;
colorDlg.Dispose();
Demo();
}
private void btnBackColor_Click(object sender, System.EventArgs e)
...{
ColorDialog colorDlg = new ColorDialog();
colorDlg.Color = backColor;
if (colorDlg.ShowDialog()!= DialogResult.OK)
...{
return;
}
backColor = colorDlg.Color;
colorDlg.Dispose();
Demo();
}
private void btnExcute_Click(object sender, System.EventArgs e)
...{
string strLogoTitle = txtLogo.Text;
if (strLogoTitle == string.Empty)
...{
MessageBox.Show("The LogoTitle can't be empty!");
txtLogo.Focus();
return;
}
if (listBoxFile.Items.Count < 1)
...{
MessageBox.Show("Please set the files that you want to add title to!");
return;
}
if (txtDestination.Text == string.Empty)
...{
MessageBox.Show("Please set the destination fold that you want to save the images!");
return;
}
string fileName = "";
string FILE_NAME = "";
System.Drawing.Image image;
Bitmap bitmap;
Graphics g;
float rectX;
float rectY;
float rectWidth = strLogoTitle.Length*(titleFont.Size+8);
float rectHeight = titleFont.Size+8;
Brush frontBrush = new SolidBrush(foreColor);
Brush backBrush = new SolidBrush(backColor);
for (int ix = 0; ix < listBoxFile.Items.Count; ix++)
...{
fileName = txtSource.Text + "/";
fileName = fileName + listBoxFile.Items[ix].ToString();
if(!File.Exists(fileName))
...{
continue;
}
image = System.Drawing.Image.FromFile(fileName);
bitmap = new Bitmap(image,image.Width,image.Height);
g = Graphics.FromImage(bitmap);
switch(cmbPosition.SelectedIndex)
...{
case 0:
rectX = 0;
rectY = 0;
break;
case 1:
rectX = image.Width - titleFont.Size * txtLogo.Text.Length;
rectY = 0;
break;
case 2:
rectX = image.Width / 2;
rectY = image.Height / 2;
break;
case 3:
rectX = 0;
rectY = image.Height - titleFont.Size;
break;
case 4:
rectX = image.Width - titleFont.Size * txtLogo.Text.Length;
rectY = image.Height - titleFont.Size;
break;
default:
rectX = 0;
rectY = image.Height - titleFont.Size;
break;
}
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
g.FillRectangle(backBrush,rectX,rectY,rectWidth,rectHeight);
g.DrawString(strLogoTitle,titleFont,frontBrush,textArea);
FILE_NAME = txtDestination.Text + "/";
FILE_NAME = FILE_NAME + listBoxFile.Items[ix].ToString();
bitmap.Save(FILE_NAME,ImageFormat.Jpeg);
g.Dispose();
bitmap.Dispose();
image.Dispose();
}
MessageBox.Show("complete!");
}
private void Demo()
...{
int iGood = 2;
lblDemo.Text = txtLogo.Text;
lblDemo.Width = 100;
lblDemo.Height = 24;
lblDemo.BackColor = backColor;
lblDemo.ForeColor = foreColor;
lblDemo.Font = titleFont;
switch(cmbPosition.SelectedIndex)
...{
case 0:
lblDemo.Left = pictureBoxDemo.Left + iGood;
lblDemo.Top = pictureBoxDemo.Top + iGood;
break;
case 1:
lblDemo.Left = pictureBoxDemo.Left + pictureBoxDemo.Width - lblDemo.Width - iGood;
lblDemo.Top = pictureBoxDemo.Top + iGood;
break;
case 2:
lblDemo.Left = pictureBoxDemo.Left + pictureBoxDemo.Width / 2 - lblDemo.Width / 2;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height / 2 - lblDemo.Height / 2;
break;
case 3:
lblDemo.Left = pictureBoxDemo.Left + iGood;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height - lblDemo.Height - iGood;
break;
case 4:
lblDemo.Left = pictureBoxDemo.Left + pictureBoxDemo.Width - lblDemo.Width - iGood;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height - lblDemo.Height - iGood;
break;
default:
lblDemo.Left = pictureBoxDemo.Left + iGood;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height - lblDemo.Height - iGood;
break;
}
}
private void cmbPosition_SelectedIndexChanged(object sender, System.EventArgs e)
...{
Demo();
}
private void txtLogo_Validating(object sender, System.ComponentModel.CancelEventArgs e)
...{
Demo();
}
}
}
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Drawing.Imaging;
namespace StudySampleCSharp
... {
/**//// <summary>
/// Form1 の概要の説明です。
/// </summary>
public class Form1 : System.Windows.Forms.Form
...{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtLogo;
/**//// <summary>
/// 必要なデザイナ変数です。
/// </summary>
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Button btnForeColor;
private System.Windows.Forms.Button btnBackColor;
private System.Windows.Forms.Button btnFonts;
private System.Windows.Forms.ComboBox cmbPosition;
private System.Windows.Forms.Button btnExcute;
private System.Windows.Forms.ListBox listBoxFile;
private System.Windows.Forms.Button btnSource;
private System.Windows.Forms.Button btnDestination;
private System.Windows.Forms.TextBox txtDestination;
private System.Windows.Forms.TextBox txtSource;
private Font titleFont = new Font("MS UI Gothic",9);
private Color foreColor = Color.White;
private System.Windows.Forms.Label lblDemo;
private System.Windows.Forms.PictureBox pictureBoxDemo;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private Color backColor = Color.Transparent;
public Form1()
...{
//
// Windows フォーム デザイナ サポートに必要です。
//
InitializeComponent();
//
// TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。
//
}
/**//// <summary>
/// 使用されているリソースに後処理を実行します。
/// </summary>
protected override void Dispose( bool disposing )
...{
if( disposing )
...{
if (components != null)
...{
components.Dispose();
}
}
base.Dispose( disposing );
}
Windows フォーム デザイナで生成されたコード#region Windows フォーム デザイナで生成されたコード
/**//// <summary>
/// デザイナ サポートに必要なメソッドです。このメソッドの内容を
/// コード エディタで変更しないでください。
/// </summary>
private void InitializeComponent()
...{
this.btnSource = new System.Windows.Forms.Button();
this.listBoxFile = new System.Windows.Forms.ListBox();
this.pictureBoxDemo = new System.Windows.Forms.PictureBox();
this.txtSource = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txtDestination = new System.Windows.Forms.TextBox();
this.txtLogo = new System.Windows.Forms.TextBox();
this.btnFonts = new System.Windows.Forms.Button();
this.btnForeColor = new System.Windows.Forms.Button();
this.btnBackColor = new System.Windows.Forms.Button();
this.cmbPosition = new System.Windows.Forms.ComboBox();
this.btnExcute = new System.Windows.Forms.Button();
this.btnDestination = new System.Windows.Forms.Button();
this.lblDemo = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// btnSource
//
this.btnSource.Location = new System.Drawing.Point(512, 8);
this.btnSource.Name = "btnSource";
this.btnSource.TabIndex = 1;
this.btnSource.Text = "Source Fold";
this.btnSource.Click += new System.EventHandler(this.btnSource_Click);
//
// listBoxFile
//
this.listBoxFile.ItemHeight = 12;
this.listBoxFile.Location = new System.Drawing.Point(8, 88);
this.listBoxFile.Name = "listBoxFile";
this.listBoxFile.Size = new System.Drawing.Size(184, 304);
this.listBoxFile.TabIndex = 3;
this.listBoxFile.SelectedIndexChanged += new System.EventHandler(this.listBoxFile_SelectedIndexChanged);
//
// pictureBoxDemo
//
this.pictureBoxDemo.BackColor = System.Drawing.SystemColors.Info;
this.pictureBoxDemo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.pictureBoxDemo.Location = new System.Drawing.Point(384, 88);
this.pictureBoxDemo.Name = "pictureBoxDemo";
this.pictureBoxDemo.Size = new System.Drawing.Size(304, 304);
this.pictureBoxDemo.TabIndex = 4;
this.pictureBoxDemo.TabStop = false;
//
// txtSource
//
this.txtSource.Location = new System.Drawing.Point(80, 8);
this.txtSource.Name = "txtSource";
this.txtSource.Size = new System.Drawing.Size(408, 19);
this.txtSource.TabIndex = 5;
this.txtSource.Text = "";
//
// label1
//
this.label1.Location = new System.Drawing.Point(8, 8);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(56, 23);
this.label1.TabIndex = 6;
this.label1.Text = "Source:";
//
// label2
//
this.label2.Location = new System.Drawing.Point(8, 40);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(72, 23);
this.label2.TabIndex = 7;
this.label2.Text = "Destination:";
//
// txtDestination
//
this.txtDestination.Location = new System.Drawing.Point(80, 40);
this.txtDestination.Name = "txtDestination";
this.txtDestination.Size = new System.Drawing.Size(408, 19);
this.txtDestination.TabIndex = 8;
this.txtDestination.Text = "";
//
// txtLogo
//
this.txtLogo.Location = new System.Drawing.Point(200, 96);
this.txtLogo.Name = "txtLogo";
this.txtLogo.Size = new System.Drawing.Size(176, 19);
this.txtLogo.TabIndex = 9;
this.txtLogo.Text = "";
this.txtLogo.Validating += new System.ComponentModel.CancelEventHandler(this.txtLogo_Validating);
//
// btnFonts
//
this.btnFonts.Location = new System.Drawing.Point(200, 232);
this.btnFonts.Name = "btnFonts";
this.btnFonts.TabIndex = 11;
this.btnFonts.Text = "Fonts";
this.btnFonts.Click += new System.EventHandler(this.btnFonts_Click);
//
// btnForeColor
//
this.btnForeColor.Location = new System.Drawing.Point(200, 264);
this.btnForeColor.Name = "btnForeColor";
this.btnForeColor.TabIndex = 12;
this.btnForeColor.Text = "Front Color";
this.btnForeColor.Click += new System.EventHandler(this.btnForeColor_Click);
//
// btnBackColor
//
this.btnBackColor.Location = new System.Drawing.Point(200, 296);
this.btnBackColor.Name = "btnBackColor";
this.btnBackColor.TabIndex = 13;
this.btnBackColor.Text = "Back Color";
this.btnBackColor.Click += new System.EventHandler(this.btnBackColor_Click);
//
// cmbPosition
//
this.cmbPosition.Location = new System.Drawing.Point(200, 128);
this.cmbPosition.Name = "cmbPosition";
this.cmbPosition.Size = new System.Drawing.Size(176, 20);
this.cmbPosition.TabIndex = 14;
this.cmbPosition.SelectedIndexChanged += new System.EventHandler(this.cmbPosition_SelectedIndexChanged);
//
// btnExcute
//
this.btnExcute.Location = new System.Drawing.Point(200, 344);
this.btnExcute.Name = "btnExcute";
this.btnExcute.Size = new System.Drawing.Size(136, 23);
this.btnExcute.TabIndex = 15;
this.btnExcute.Text = "Excute";
this.btnExcute.Click += new System.EventHandler(this.btnExcute_Click);
//
// btnDestination
//
this.btnDestination.Location = new System.Drawing.Point(512, 40);
this.btnDestination.Name = "btnDestination";
this.btnDestination.TabIndex = 16;
this.btnDestination.Text = "Save Fold";
this.btnDestination.Click += new System.EventHandler(this.btnDestination_Click);
//
// lblDemo
//
this.lblDemo.BackColor = System.Drawing.SystemColors.Control;
this.lblDemo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lblDemo.Location = new System.Drawing.Point(496, 200);
this.lblDemo.Name = "lblDemo";
this.lblDemo.Size = new System.Drawing.Size(96, 24);
this.lblDemo.TabIndex = 17;
this.lblDemo.Text = "label3";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(264, 160);
this.textBox1.Name = "textBox1";
this.textBox1.TabIndex = 18;
this.textBox1.Text = "textBox1";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(264, 184);
this.textBox2.Name = "textBox2";
this.textBox2.TabIndex = 19;
this.textBox2.Text = "textBox2";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
this.ClientSize = new System.Drawing.Size(704, 422);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.lblDemo);
this.Controls.Add(this.btnDestination);
this.Controls.Add(this.btnExcute);
this.Controls.Add(this.cmbPosition);
this.Controls.Add(this.btnBackColor);
this.Controls.Add(this.btnForeColor);
this.Controls.Add(this.btnFonts);
this.Controls.Add(this.txtLogo);
this.Controls.Add(this.txtDestination);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.txtSource);
this.Controls.Add(this.pictureBoxDemo);
this.Controls.Add(this.listBoxFile);
this.Controls.Add(this.btnSource);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
#endregion
/**//// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
...{
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e)
...{
cmbPosition.Items.Add("TopLeft");
cmbPosition.Items.Add("TopRight");
cmbPosition.Items.Add("MiddleCenter");
cmbPosition.Items.Add("BottomLeft");
cmbPosition.Items.Add("BottomRight");
cmbPosition.SelectedIndex = 3;
txtDestination.Text = @"C:Documents and Settings84デスクトップpic";
Demo();
}
private void btnSource_Click(object sender, System.EventArgs e)
...{
string strFileName = "";
OpenFileDialog fDlg = new OpenFileDialog();
fDlg.Multiselect = true;
if (fDlg.ShowDialog() != DialogResult.OK)
...{
return;
}
strFileName = fDlg.FileNames[0].ToString();
txtSource.Text = strFileName.Substring(0,strFileName.LastIndexOf("/"));
for(int ix=0; ix < fDlg.FileNames.Length; ix++)
...{
strFileName = fDlg.FileNames[ix].ToString();
strFileName = strFileName.Substring(strFileName.LastIndexOf("/") + 1);
listBoxFile.Items.Add(strFileName);
}
fDlg.Dispose();
}
private void btnDestination_Click(object sender, System.EventArgs e)
...{
FolderBrowserDialog foldDlg = new FolderBrowserDialog();
if (foldDlg.ShowDialog() != DialogResult.OK)
...{
return;
}
txtDestination.Text = foldDlg.SelectedPath;
}
private void listBoxFile_SelectedIndexChanged(object sender, System.EventArgs e)
...{
string strFilePath;
if (listBoxFile.SelectedIndex < 0)
...{
return;
}
strFilePath = txtSource.Text + "/" + listBoxFile.Items[listBoxFile.SelectedIndex];
if (File.Exists(strFilePath))
...{
Image img = Image.FromFile(strFilePath);
pictureBoxDemo.Image = img;
img.Dispose();
}
}
private void btnFonts_Click(object sender, System.EventArgs e)
...{
FontDialog fontDlg = new FontDialog();
fontDlg.Font = titleFont;
if (fontDlg.ShowDialog()!= DialogResult.OK)
...{
return;
}
titleFont = fontDlg.Font;
fontDlg.Dispose();
Demo();
}
private void btnForeColor_Click(object sender, System.EventArgs e)
...{
ColorDialog colorDlg = new ColorDialog();
colorDlg.Color = foreColor;
if (colorDlg.ShowDialog()!= DialogResult.OK)
...{
return;
}
foreColor = colorDlg.Color;
colorDlg.Dispose();
Demo();
}
private void btnBackColor_Click(object sender, System.EventArgs e)
...{
ColorDialog colorDlg = new ColorDialog();
colorDlg.Color = backColor;
if (colorDlg.ShowDialog()!= DialogResult.OK)
...{
return;
}
backColor = colorDlg.Color;
colorDlg.Dispose();
Demo();
}
private void btnExcute_Click(object sender, System.EventArgs e)
...{
string strLogoTitle = txtLogo.Text;
if (strLogoTitle == string.Empty)
...{
MessageBox.Show("The LogoTitle can't be empty!");
txtLogo.Focus();
return;
}
if (listBoxFile.Items.Count < 1)
...{
MessageBox.Show("Please set the files that you want to add title to!");
return;
}
if (txtDestination.Text == string.Empty)
...{
MessageBox.Show("Please set the destination fold that you want to save the images!");
return;
}
string fileName = "";
string FILE_NAME = "";
System.Drawing.Image image;
Bitmap bitmap;
Graphics g;
float rectX;
float rectY;
float rectWidth = strLogoTitle.Length*(titleFont.Size+8);
float rectHeight = titleFont.Size+8;
Brush frontBrush = new SolidBrush(foreColor);
Brush backBrush = new SolidBrush(backColor);
for (int ix = 0; ix < listBoxFile.Items.Count; ix++)
...{
fileName = txtSource.Text + "/";
fileName = fileName + listBoxFile.Items[ix].ToString();
if(!File.Exists(fileName))
...{
continue;
}
image = System.Drawing.Image.FromFile(fileName);
bitmap = new Bitmap(image,image.Width,image.Height);
g = Graphics.FromImage(bitmap);
switch(cmbPosition.SelectedIndex)
...{
case 0:
rectX = 0;
rectY = 0;
break;
case 1:
rectX = image.Width - titleFont.Size * txtLogo.Text.Length;
rectY = 0;
break;
case 2:
rectX = image.Width / 2;
rectY = image.Height / 2;
break;
case 3:
rectX = 0;
rectY = image.Height - titleFont.Size;
break;
case 4:
rectX = image.Width - titleFont.Size * txtLogo.Text.Length;
rectY = image.Height - titleFont.Size;
break;
default:
rectX = 0;
rectY = image.Height - titleFont.Size;
break;
}
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
g.FillRectangle(backBrush,rectX,rectY,rectWidth,rectHeight);
g.DrawString(strLogoTitle,titleFont,frontBrush,textArea);
FILE_NAME = txtDestination.Text + "/";
FILE_NAME = FILE_NAME + listBoxFile.Items[ix].ToString();
bitmap.Save(FILE_NAME,ImageFormat.Jpeg);
g.Dispose();
bitmap.Dispose();
image.Dispose();
}
MessageBox.Show("complete!");
}
private void Demo()
...{
int iGood = 2;
lblDemo.Text = txtLogo.Text;
lblDemo.Width = 100;
lblDemo.Height = 24;
lblDemo.BackColor = backColor;
lblDemo.ForeColor = foreColor;
lblDemo.Font = titleFont;
switch(cmbPosition.SelectedIndex)
...{
case 0:
lblDemo.Left = pictureBoxDemo.Left + iGood;
lblDemo.Top = pictureBoxDemo.Top + iGood;
break;
case 1:
lblDemo.Left = pictureBoxDemo.Left + pictureBoxDemo.Width - lblDemo.Width - iGood;
lblDemo.Top = pictureBoxDemo.Top + iGood;
break;
case 2:
lblDemo.Left = pictureBoxDemo.Left + pictureBoxDemo.Width / 2 - lblDemo.Width / 2;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height / 2 - lblDemo.Height / 2;
break;
case 3:
lblDemo.Left = pictureBoxDemo.Left + iGood;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height - lblDemo.Height - iGood;
break;
case 4:
lblDemo.Left = pictureBoxDemo.Left + pictureBoxDemo.Width - lblDemo.Width - iGood;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height - lblDemo.Height - iGood;
break;
default:
lblDemo.Left = pictureBoxDemo.Left + iGood;
lblDemo.Top = pictureBoxDemo.Top + pictureBoxDemo.Height - lblDemo.Height - iGood;
break;
}
}
private void cmbPosition_SelectedIndexChanged(object sender, System.EventArgs e)
...{
Demo();
}
private void txtLogo_Validating(object sender, System.ComponentModel.CancelEventArgs e)
...{
Demo();
}
}
}