实践过程
效果
代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
#region 获取系统字体
private void GetSystemFont(ToolStripComboBox cb)
{
InstalledFontCollection myFont = new InstalledFontCollection();
foreach (FontFamily ff in myFont.Families)
{
cb.Items.Add(ff.Name);
}
cb.SelectedItem = "宋体";
}
#endregion
private void Form1_Load(object sender, EventArgs e)
{
cbbPosition.SelectedIndex = 0;
}
string[] ImgArray = null;
string ImgDirectoryPath = null;
private void btnLoadImg_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
lbImgList.Items.Clear();
ImgArray = openFileDialog1.FileNames;
string ImgP = ImgArray[0].ToString();
ImgP = ImgP.Remove(ImgP.LastIndexOf("\\"));
ImgDirectoryPath = ImgP;
for (int i = 0; i < ImgArray.Length; i++)
{
string ImgPath = ImgArray[i].ToString();
string ImgName = ImgPath.Substring(ImgPath.LastIndexOf("\\") + 1,
ImgPath.Length - ImgPath.LastIndexOf("\\") - 1);
lbImgList.Items.Add(ImgName);
}
tsslStatus.Text = "图片总数:" + lbImgList.Items.Count;
}
}
private void lbImgList_SelectedIndexChanged(object sender, EventArgs e)
{
if (lbImgList.SelectedItems.Count > 0)
{
tsslText.Text = "图片位置:" + ImgDirectoryPath + "\\" + lbImgList.SelectedItems[0].ToString();
}
}
private void btnPreview_Click(object sender, EventArgs e)
{
if (lbImgList.Items.Count > 0)
{
if (rbTxt.Checked)
{
if (txtWaterMarkFont.Text != "" && txtSavaPath.Text.Trim() != "")
{
AddFontWatermark(txtWaterMarkFont.Text.Trim(), lbImgList.Items[0].ToString(), 0);
Form2 frm2 = new Form2();
frm2.ig = BigBt;
frm2.ShowDialog();
}
}
else
{
if (txtWaterMarkImg.Text != "" && txtSavaPath.Text != "")
{
ChangeAlpha();
AddFontWatermark(txtWaterMarkFont.Text.Trim(), lbImgList.Items[0].ToString(), 2);
Form2 frm2 = new Form2();
frm2.ig = BigBt;
frm2.ShowDialog();
}
}
}
}
private void trackBar1_Enter(object sender, EventArgs e)
{
lbImgList.Focus();
}
private void btnSelect_Click(object sender, EventArgs e)
{
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{
txtWaterMarkImg.Text = openFileDialog2.FileName;
if (rbPIC.Checked == true)
{
ChangeAlpha();
pbImgPreview.Image = Image.FromFile(txtWaterMarkImg.Text.Trim());
}
}
}
private void rbTxt_CheckedChanged(object sender, EventArgs e)
{
trackBar1.Enabled = false;
if (rbPIC.Checked)
pbImgPreview.Image = null;
}
private void rbPIC_CheckedChanged(object sender, EventArgs e)
{
trackBar1.Enabled = true;
if (rbTxt.Checked)
{
pbImgPreview.Image = null;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (lbImgList.Items.Count > 0)
{
fontDialog1.ShowColor = true;
fontDialog1.ShowHelp = false;
fontDialog1.ShowApply = false;
if (fontDialog1.ShowDialog() == DialogResult.OK)
{
FontF = fontDialog1.Font.FontFamily;
fontColor = fontDialog1.Color;
fontSize = fontDialog1.Font.Size;
fontStyle = fontDialog1.Font.Style;
AddFontWatermark(txtWaterMarkFont.Text.Trim(), lbImgList.Items[0].ToString(), 0);
pbImgPreview.Image = bt;
}
}
}
Bitmap bt = null;
float fontSize = 8;
Color fontColor = Color.Black;
FontFamily FontF = null;
FontStyle fontStyle = FontStyle.Regular;
int Fwidth;
int Fheight;
Bitmap BigBt;
Font f;
Brush b;
private void AddFontWatermark(string txt, string Iname, int i) //预览
{
b = new SolidBrush(fontColor);
bt = new Bitmap(368, 75);
BigBt = new Bitmap(Image.FromFile(ImgDirectoryPath + "\\" + Iname));
Graphics g = Graphics.FromImage(bt);
Graphics g1 = Graphics.FromImage(BigBt);
g.Clear(Color.Gainsboro);
pbImgPreview.Image = bt;
if (FontF == null)
{
f = new Font(txt, fontSize);
SizeF XMaxSize = g.MeasureString(txt, f);
Fwidth = (int) XMaxSize.Width;
Fheight = (int) XMaxSize.Height;
g.DrawString(txt, f, b, (int) (368 - Fwidth) / 2, (int) (75 - Fheight) / 2);
if (cbbPosition.SelectedIndex == 0) //正中
{
g1.DrawString(txt, f, b, (int) (BigBt.Width - Fwidth) / 2, (int) (BigBt.Height - Fheight) / 2);
}
if (cbbPosition.SelectedIndex == 1) //左上
{
g1.DrawString(txt, f, b, 30, 30);
}
if (cbbPosition.SelectedIndex == 2) //左下
{
g1.DrawString(txt, f, b, 30, (int) (BigBt.Height - Fheight) - 30);
}
if (cbbPosition.SelectedIndex == 3) //右上
{
g1.DrawString(txt, f, b, (int) (BigBt.Width - Fwidth), 30);
}
if (cbbPosition.SelectedIndex == 4) //右下
{
g1.DrawString(txt, f, b, (int) (BigBt.Width - Fwidth), (int) (BigBt.Height - Fheight) - 30);
}
}
else
{
f = new Font(FontF, fontSize, fontStyle);
SizeF XMaxSize = g.MeasureString(txt, f);
Fwidth = (int) XMaxSize.Width;
Fheight = (int) XMaxSize.Height;
g.DrawString(txt, new Font(FontF, fontSize, fontStyle), b, (int) (368 - Fwidth) / 2,
(int) (75 - Fheight) / 2);
if (cbbPosition.SelectedIndex == 0) //正中
{
g1.DrawString(txt, new Font(FontF, fontSize, fontStyle), b, (int) (BigBt.Width - Fwidth) / 2,
(int) (BigBt.Height - Fheight) / 2);
}
if (cbbPosition.SelectedIndex == 1) //左上
{
g1.DrawString(txt, new Font(FontF, fontSize, fontStyle), b, 30, 30);
}
if (cbbPosition.SelectedIndex == 2) //左下
{
g1.DrawString(txt, new Font(FontF, fontSize, fontStyle), b, 30,
(int) (BigBt.Height - Fheight) - 30);
}
if (cbbPosition.SelectedIndex == 3) //右上
{
g1.DrawString(txt, new Font(FontF, fontSize, fontStyle), b, (int) (BigBt.Width - Fwidth), Fheight);
}
if (cbbPosition.SelectedIndex == 4) //右下
{
g1.DrawString(txt, new Font(FontF, fontSize, fontStyle), b, (int) (BigBt.Width - Fwidth),
(int) (BigBt.Height - Fheight) - 30);
}
}
if (i == 1)
{
string ipath;
if (NewFolderPath.Length == 3)
ipath = NewFolderPath.Remove(NewFolderPath.LastIndexOf(":") + 1);
else
ipath = NewFolderPath;
string imgstype =
Iname.Substring(Iname.LastIndexOf(".") + 1, Iname.Length - 1 - Iname.LastIndexOf("."));
if (imgstype.ToLower() == "jpeg" || imgstype.ToLower() == "jpg")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Jpeg);
}
if (imgstype.ToLower() == "png")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Png);
}
if (imgstype.ToLower() == "bmp")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Bmp);
}
if (imgstype.ToLower() == "gif")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Gif);
}
g1.Dispose();
BigBt.Dispose();
}
if (i == 2)
{
if (cbbPosition.SelectedIndex == 0) //正中
{
g1.DrawImage(effect, (int) (BigBt.Width - effect.Width) / 2,
(int) (BigBt.Height - effect.Height) / 2);
}
if (cbbPosition.SelectedIndex == 1) //左上
{
g1.DrawImage(effect, 30, 30);
}
if (cbbPosition.SelectedIndex == 2) //左下
{
g1.DrawImage(effect, 30, (int) (BigBt.Height - effect.Height) - 30);
}
if (cbbPosition.SelectedIndex == 3) //右上
{
g1.DrawImage(effect, (int) (BigBt.Width - effect.Width) - 30, 30);
}
if (cbbPosition.SelectedIndex == 4) //右下
{
g1.DrawImage(effect, (int) (BigBt.Width - effect.Width) - 30,
(int) (BigBt.Height - effect.Height) - 30);
}
}
if (i == 3)
{
if (cbbPosition.SelectedIndex == 0) //正中
{
g1.DrawImage(effect, (int) (BigBt.Width - effect.Width) / 2,
(int) (BigBt.Height - effect.Height) / 2);
}
if (cbbPosition.SelectedIndex == 1) //左上
{
g1.DrawImage(effect, 30, 30);
}
if (cbbPosition.SelectedIndex == 2) //左下
{
g1.DrawImage(effect, 30, (int) (BigBt.Height - effect.Height) - 30);
}
if (cbbPosition.SelectedIndex == 3) //右上
{
g1.DrawImage(effect, (int) (BigBt.Width - effect.Width), 30);
}
if (cbbPosition.SelectedIndex == 4) //右下
{
g1.DrawImage(effect, (int) (BigBt.Width - effect.Width), (int) (BigBt.Height - effect.Height) - 30);
}
string ipath;
if (NewFolderPath.Length == 3)
ipath = NewFolderPath.Remove(NewFolderPath.LastIndexOf(":") + 1);
else
ipath = NewFolderPath;
string imgstype =
Iname.Substring(Iname.LastIndexOf(".") + 1, Iname.Length - 1 - Iname.LastIndexOf("."));
if (imgstype.ToLower() == "jpeg" || imgstype.ToLower() == "jpg")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Jpeg);
}
if (imgstype.ToLower() == "png")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Png);
}
if (imgstype.ToLower() == "bmp")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Bmp);
}
if (imgstype.ToLower() == "gif")
{
BigBt.Save(ipath + "\\_" + Iname, ImageFormat.Gif);
}
}
}
private void txtWaterMarkFont_TextChanged(object sender, EventArgs e)
{
if (lbImgList.Items.Count <= 0)
{
MessageBox.Show("请加载图片", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
else
{
AddFontWatermark(txtWaterMarkFont.Text.Trim(), lbImgList.Items[0].ToString(), 0);
pbImgPreview.Image = bt;
}
}
private void btnExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
/// <summary>
/// 调节透明度
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
Bitmap effect;
Bitmap source;
Image new_img;
private void ChangeAlpha()
{
pbImgPreview.Refresh();
source = new Bitmap(Image.FromFile(txtWaterMarkImg.Text.Trim()));
if (source.Width <= 368)
effect = new Bitmap(368, 75);
else
{
Image.GetThumbnailImageAbort callb = null;
//对水印图片生成缩略图,缩小到原图得1/4
new_img = source.GetThumbnailImage(source.Width / 4, source.Width / 4, callb, new System.IntPtr());
effect = new Bitmap(this.new_img.Width, this.new_img.Height);
}
Graphics _effect = Graphics.FromImage(effect);
float[][] matrixItems =
{
new float[] {1, 0, 0, 0, 0},
new float[] {0, 1, 0, 0, 0},
new float[] {0, 0, 1, 0, 0},
new float[] {0, 0, 0, 0, 0},
new float[] {0, 0, 0, trackBar1.Value / 255f, 1}
};
ColorMatrix imgMatrix = new ColorMatrix(matrixItems);
ImageAttributes imgEffect = new ImageAttributes();
imgEffect.SetColorMatrix(imgMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
if (source.Width <= 368)
{
_effect.DrawImage(source, new Rectangle(0, 0, 368, 75), 0, 0, 368, 75, GraphicsUnit.Pixel, imgEffect);
}
else
{
_effect.DrawImage(new_img, new Rectangle(0, 0, new_img.Width, new_img.Height), 0, 0, new_img.Width,
new_img.Height, GraphicsUnit.Pixel, imgEffect);
}
pbImgPreview.Image = effect;
}
private void trackBar1_ValueChanged(object sender, EventArgs e)
{
if (rbPIC.Checked && txtWaterMarkImg.Text.Trim() != "")
ChangeAlpha();
}
private void btnPerform_Click(object sender, EventArgs e)
{
if (rbTxt.Checked && txtSavaPath.Text != "" && txtWaterMarkFont.Text != "")
{
for (int i = 0; i < lbImgList.Items.Count; i++)
{
AddFontWatermark(txtWaterMarkFont.Text.Trim(), lbImgList.Items[i].ToString(), 1);
}
MessageBox.Show("添加水印成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
if (rbPIC.Checked && txtSavaPath.Text != "" && pbImgPreview.Image != null)
{
for (int i = 0; i < lbImgList.Items.Count; i++)
{
AddFontWatermark(txtWaterMarkFont.Text.Trim(), lbImgList.Items[i].ToString(), 3);
}
MessageBox.Show("添加水印成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
string NewFolderPath;
private void button2_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
txtSavaPath.Text = folderBrowserDialog1.SelectedPath;
NewFolderPath = txtSavaPath.Text.Trim();
}
}
}
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.colorDialog1 = new System.Windows.Forms.ColorDialog();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.tsslStatus = new System.Windows.Forms.ToolStripStatusLabel();
this.tsslText = new System.Windows.Forms.ToolStripStatusLabel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.lbImgList = new System.Windows.Forms.ListBox();
this.button2 = new System.Windows.Forms.Button();
this.txtSavaPath = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.btnPreview = new System.Windows.Forms.Button();
this.btnExit = new System.Windows.Forms.Button();
this.btnPerform = new System.Windows.Forms.Button();
this.btnLoadImg = new System.Windows.Forms.Button();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.label6 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.cbbPosition = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.trackBar1 = new System.Windows.Forms.TrackBar();
this.rbPIC = new System.Windows.Forms.RadioButton();
this.rbTxt = new System.Windows.Forms.RadioButton();
this.txtWaterMarkFont = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.txtWaterMarkImg = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.btnSelect = new System.Windows.Forms.Button();
this.pbImgPreview = new System.Windows.Forms.PictureBox();
this.fontDialog1 = new System.Windows.Forms.FontDialog();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.openFileDialog2 = new System.Windows.Forms.OpenFileDialog();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.statusStrip1.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbImgPreview)).BeginInit();
this.SuspendLayout();
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsslStatus,
this.tsslText});
this.statusStrip1.Location = new System.Drawing.Point(0, 368);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(601, 22);
this.statusStrip1.TabIndex = 0;
this.statusStrip1.Text = "statusStrip1";
//
// tsslStatus
//
this.tsslStatus.Name = "tsslStatus";
this.tsslStatus.Size = new System.Drawing.Size(53, 17);
this.tsslStatus.Text = "准备就绪";
//
// tsslText
//
this.tsslText.Name = "tsslText";
this.tsslText.Size = new System.Drawing.Size(0, 17);
//
// splitContainer1
//
this.splitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.IsSplitterFixed = true;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.groupBox1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.button2);
this.splitContainer1.Panel2.Controls.Add(this.txtSavaPath);
this.splitContainer1.Panel2.Controls.Add(this.label5);
this.splitContainer1.Panel2.Controls.Add(this.btnPreview);
this.splitContainer1.Panel2.Controls.Add(this.btnExit);
this.splitContainer1.Panel2.Controls.Add(this.btnPerform);
this.splitContainer1.Panel2.Controls.Add(this.btnLoadImg);
this.splitContainer1.Panel2.Controls.Add(this.groupBox2);
this.splitContainer1.Size = new System.Drawing.Size(601, 368);
this.splitContainer1.SplitterDistance = 206;
this.splitContainer1.SplitterWidth = 2;
this.splitContainer1.TabIndex = 1;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.lbImgList);
this.groupBox1.Location = new System.Drawing.Point(7, 2);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(189, 359);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "加水印图片列表";
//
// lbImgList
//
this.lbImgList.FormattingEnabled = true;
this.lbImgList.ItemHeight = 12;
this.lbImgList.Location = new System.Drawing.Point(6, 13);
this.lbImgList.Name = "lbImgList";
this.lbImgList.Size = new System.Drawing.Size(177, 340);
this.lbImgList.TabIndex = 0;
this.lbImgList.SelectedIndexChanged += new System.EventHandler(this.lbImgList_SelectedIndexChanged);
//
// button2
//
this.button2.Location = new System.Drawing.Point(321, 291);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(65, 23);
this.button2.TabIndex = 8;
this.button2.Text = "浏览...";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// txtSavaPath
//
this.txtSavaPath.BackColor = System.Drawing.Color.White;
this.txtSavaPath.Enabled = false;
this.txtSavaPath.Location = new System.Drawing.Point(78, 292);
this.txtSavaPath.Name = "txtSavaPath";
this.txtSavaPath.ReadOnly = true;
this.txtSavaPath.Size = new System.Drawing.Size(239, 21);
this.txtSavaPath.TabIndex = 7;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(13, 296);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 6;
this.label5.Text = "保存位置:";
//
// btnPreview
//
this.btnPreview.Location = new System.Drawing.Point(114, 327);
this.btnPreview.Name = "btnPreview";
this.btnPreview.Size = new System.Drawing.Size(75, 23);
this.btnPreview.TabIndex = 5;
this.btnPreview.Text = "水印预览";
this.btnPreview.UseVisualStyleBackColor = true;
this.btnPreview.Click += new System.EventHandler(this.btnPreview_Click);
//
// btnExit
//
this.btnExit.Location = new System.Drawing.Point(301, 327);
this.btnExit.Name = "btnExit";
this.btnExit.Size = new System.Drawing.Size(75, 23);
this.btnExit.TabIndex = 4;
this.btnExit.Text = "关闭退出";
this.btnExit.UseVisualStyleBackColor = true;
this.btnExit.Click += new System.EventHandler(this.btnExit_Click);
//
// btnPerform
//
this.btnPerform.Location = new System.Drawing.Point(207, 327);
this.btnPerform.Name = "btnPerform";
this.btnPerform.Size = new System.Drawing.Size(75, 23);
this.btnPerform.TabIndex = 3;
this.btnPerform.Text = "开始执行";
this.btnPerform.UseVisualStyleBackColor = true;
this.btnPerform.Click += new System.EventHandler(this.btnPerform_Click);
//
// btnLoadImg
//
this.btnLoadImg.Location = new System.Drawing.Point(14, 327);
this.btnLoadImg.Name = "btnLoadImg";
this.btnLoadImg.Size = new System.Drawing.Size(75, 23);
this.btnLoadImg.TabIndex = 2;
this.btnLoadImg.Text = "加载图片";
this.btnLoadImg.UseVisualStyleBackColor = true;
this.btnLoadImg.Click += new System.EventHandler(this.btnLoadImg_Click);
//
// groupBox2
//
this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.label4);
this.groupBox2.Controls.Add(this.cbbPosition);
this.groupBox2.Controls.Add(this.label2);
this.groupBox2.Controls.Add(this.button1);
this.groupBox2.Controls.Add(this.trackBar1);
this.groupBox2.Controls.Add(this.rbPIC);
this.groupBox2.Controls.Add(this.rbTxt);
this.groupBox2.Controls.Add(this.txtWaterMarkFont);
this.groupBox2.Controls.Add(this.label1);
this.groupBox2.Controls.Add(this.txtWaterMarkImg);
this.groupBox2.Controls.Add(this.label3);
this.groupBox2.Controls.Add(this.btnSelect);
this.groupBox2.Controls.Add(this.pbImgPreview);
this.groupBox2.Location = new System.Drawing.Point(3, 3);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(383, 274);
this.groupBox2.TabIndex = 0;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "水印设置";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(10, 171);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(257, 12);
this.label6.TabIndex = 16;
this.label6.Text = "注意:水印图片建议使用分辨率为368*75的图片";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(244, 145);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(65, 12);
this.label4.TabIndex = 4;
this.label4.Text = "水印位置:";
//
// cbbPosition
//
this.cbbPosition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbbPosition.FormattingEnabled = true;
this.cbbPosition.Items.AddRange(new object[] {
"正中",
"左上",
"左下",
"右上",
"右下"});
this.cbbPosition.Location = new System.Drawing.Point(315, 141);
this.cbbPosition.Name = "cbbPosition";
this.cbbPosition.Size = new System.Drawing.Size(65, 20);
this.cbbPosition.TabIndex = 15;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(8, 147);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 14;
this.label2.Text = "透明设置:";
//
// button1
//
this.button1.Location = new System.Drawing.Point(315, 48);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(65, 23);
this.button1.TabIndex = 13;
this.button1.Text = "字体设置";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// trackBar1
//
this.trackBar1.AutoSize = false;
this.trackBar1.Enabled = false;
this.trackBar1.LargeChange = 1;
this.trackBar1.Location = new System.Drawing.Point(69, 140);
this.trackBar1.Maximum = 255;
this.trackBar1.Name = "trackBar1";
this.trackBar1.Size = new System.Drawing.Size(179, 22);
this.trackBar1.TabIndex = 12;
this.trackBar1.Value = 255;
this.trackBar1.ValueChanged += new System.EventHandler(this.trackBar1_ValueChanged);
this.trackBar1.Enter += new System.EventHandler(this.trackBar1_Enter);
//
// rbPIC
//
this.rbPIC.AutoSize = true;
this.rbPIC.Location = new System.Drawing.Point(10, 82);
this.rbPIC.Name = "rbPIC";
this.rbPIC.Size = new System.Drawing.Size(95, 16);
this.rbPIC.TabIndex = 11;
this.rbPIC.Text = "添加图片水印";
this.rbPIC.UseVisualStyleBackColor = true;
this.rbPIC.CheckedChanged += new System.EventHandler(this.rbPIC_CheckedChanged);
//
// rbTxt
//
this.rbTxt.AutoSize = true;
this.rbTxt.Checked = true;
this.rbTxt.Location = new System.Drawing.Point(8, 22);
this.rbTxt.Name = "rbTxt";
this.rbTxt.Size = new System.Drawing.Size(95, 16);
this.rbTxt.TabIndex = 10;
this.rbTxt.TabStop = true;
this.rbTxt.Text = "添加文字水印";
this.rbTxt.UseVisualStyleBackColor = true;
this.rbTxt.CheckedChanged += new System.EventHandler(this.rbTxt_CheckedChanged);
//
// txtWaterMarkFont
//
this.txtWaterMarkFont.Location = new System.Drawing.Point(75, 49);
this.txtWaterMarkFont.Name = "txtWaterMarkFont";
this.txtWaterMarkFont.Size = new System.Drawing.Size(239, 21);
this.txtWaterMarkFont.TabIndex = 2;
this.txtWaterMarkFont.TextChanged += new System.EventHandler(this.txtWaterMarkFont_TextChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(8, 53);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 1;
this.label1.Text = "水印文字:";
//
// txtWaterMarkImg
//
this.txtWaterMarkImg.BackColor = System.Drawing.Color.White;
this.txtWaterMarkImg.Enabled = false;
this.txtWaterMarkImg.Location = new System.Drawing.Point(75, 109);
this.txtWaterMarkImg.Name = "txtWaterMarkImg";
this.txtWaterMarkImg.ReadOnly = true;
this.txtWaterMarkImg.Size = new System.Drawing.Size(239, 21);
this.txtWaterMarkImg.TabIndex = 1;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(8, 114);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(65, 12);
this.label3.TabIndex = 0;
this.label3.Text = "水印图片:";
//
// btnSelect
//
this.btnSelect.Location = new System.Drawing.Point(315, 108);
this.btnSelect.Name = "btnSelect";
this.btnSelect.Size = new System.Drawing.Size(65, 23);
this.btnSelect.TabIndex = 2;
this.btnSelect.Text = "浏览...";
this.btnSelect.UseVisualStyleBackColor = true;
this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);
//
// pbImgPreview
//
this.pbImgPreview.BackColor = System.Drawing.Color.WhiteSmoke;
this.pbImgPreview.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.pbImgPreview.Location = new System.Drawing.Point(9, 191);
this.pbImgPreview.Name = "pbImgPreview";
this.pbImgPreview.Size = new System.Drawing.Size(368, 75);
this.pbImgPreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pbImgPreview.TabIndex = 3;
this.pbImgPreview.TabStop = false;
//
// openFileDialog1
//
this.openFileDialog1.Filter = "图片文件|*.jpeg;*.jpg;*.png;*.bmp;*.gif";
this.openFileDialog1.Multiselect = true;
//
// openFileDialog2
//
this.openFileDialog2.Filter = "图片文件|*.jpeg;*.jpg;*.png;*.bmp";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(601, 390);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.statusStrip1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "图片批量加水印";
this.Load += new System.EventHandler(this.Form1_Load);
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbImgPreview)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ColorDialog colorDialog1;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.ListBox lbImgList;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox txtWaterMarkFont;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.FontDialog fontDialog1;
private System.Windows.Forms.Button btnSelect;
private System.Windows.Forms.TextBox txtWaterMarkImg;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.PictureBox pbImgPreview;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button btnLoadImg;
private System.Windows.Forms.Button btnPreview;
private System.Windows.Forms.Button btnExit;
private System.Windows.Forms.Button btnPerform;
private System.Windows.Forms.RadioButton rbPIC;
private System.Windows.Forms.RadioButton rbTxt;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.ToolStripStatusLabel tsslStatus;
private System.Windows.Forms.ToolStripStatusLabel tsslText;
private System.Windows.Forms.TrackBar trackBar1;
private System.Windows.Forms.OpenFileDialog openFileDialog2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox cbbPosition;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.TextBox txtSavaPath;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.Windows.Forms.Label label6;
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Image ig = null;
private void Form2_Load(object sender, EventArgs e)
{
pictureBox1.Image = ig;
}
}
partial class Form2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pictureBox1.Location = new System.Drawing.Point(0, 0);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(630, 448);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// Form2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(630, 448);
this.Controls.Add(this.pictureBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.Name = "Form2";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "水印预览";
this.Load += new System.EventHandler(this.Form2_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
}
以上就是C#实现批量给图片添加水印的示例代码的详细内容,更多关于C#图片添加水印的资料请关注编程网其它相关文章!