但個人只是純粹好玩而已,並沒有針對浮水印做太多思考
Code:
using System.Drawing;
using System.Windows.Forms;
namespace WaterMarkImage
{
public partial class Form1 : Form
{
/// <summary>
/// 背景圖
/// </summary>
private Bitmap bitmapBack;
/// <summary>
/// 用於浮水印圖
/// </summary>
private Bitmap bitmapWaterMark;
public Form1()
{
InitializeComponent();
}
private void buttonMark_MouseClick(object sender, MouseEventArgs e)
{
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "JPG File|*.jpg";
if (dialog.ShowDialog() == DialogResult.OK)
{
Graphics g = Graphics.FromImage(bitmapBack);
g.DrawImage(bitmapWaterMark, new Point(0, 0));
bitmapBack.Save(dialog.FileName);
MessageBox.Show("製作成功");
}
}
private void buttonWaterMark_MouseClick(object sender, MouseEventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "JPG File|*.jpg";
if (dialog.ShowDialog() == DialogResult.OK)
{
bitmapWaterMark = new Bitmap(dialog.FileName);
for (int x = 0; x < bitmapWaterMark.Width; x++)
{
for (int y = 0; y < bitmapWaterMark.Height; y++)
{
Color pixel = bitmapWaterMark.GetPixel(x, y);
int red = pixel.R / 2;
int green = pixel.G / 2;
int blue = pixel.B / 2;
int alpha = pixel.A / 10;
pixel = Color.FromArgb(alpha, red, green, blue);
bitmapWaterMark.SetPixel(x, y, pixel);
}
}
}
}
private void buttonImage_MouseClick(object sender, MouseEventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "JPG File|*.jpg";
if (dialog.ShowDialog() == DialogResult.OK)
bitmapBack = new Bitmap(dialog.FileName);
}
}
}
執行結果:
