- Katılım
- 26 Ocak 2005
- Mesajlar
- 7,944
- Reaction score
- 258
Basit bir watermark uygulamasıdır. Kendinize göre geliştirebilirsiniz.
Formumuzu oluşturalım. Ekleyeceğimiz elemanlar:
1 adet Panel = PreviewPanel
1 adet PictureBox = PreviewPicturebox
1 adet Label = label1
1 adet texbox = txtWaterMark
2 adet buton = btnBrowse ve btnSave
1 ErrorProvider = epWaterMark
1 OpenFileDialog = openDialog
1 SaveFileDialog = saveDialog
Bu kadar. Ekran görüntüsü aşağıdaki gibi olacak:

Bunlar da kodlarımız:
[Onay]Eif[/Onay]
Formumuzu oluşturalım. Ekleyeceğimiz elemanlar:
1 adet Panel = PreviewPanel
1 adet PictureBox = PreviewPicturebox
1 adet Label = label1
1 adet texbox = txtWaterMark
2 adet buton = btnBrowse ve btnSave
1 ErrorProvider = epWaterMark
1 OpenFileDialog = openDialog
1 SaveFileDialog = saveDialog
Bu kadar. Ekran görüntüsü aşağıdaki gibi olacak:

Bunlar da kodlarımız:
Kod:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace WatermarkApp
{
public partial class Form1 : Form
{
//Global olarak tanımladığımız değişkenler
Graphics grp;
Bitmap layoutBitmap;
Point p;
Font f;
public Form1()
{
InitializeComponent();
//watermark fontunu oluşturalım
f = new Font("Tahoma", 15, FontStyle.Bold);
}
private void btnBrowse_Click(object sender, EventArgs e)
{
//OpenFileDialog ile kullanıcıdan bir JPEG dosya seçmesini sağlayalım
DialogResult dr = openDialog.ShowDialog();
if (dr == DialogResult.OK)
{
//Kullanıcının seçtiği resim dosyasını Bitmap nesnesi
//içine yükle
layoutBitmap = new Bitmap(openDialog.FileName);
//Bu bitmap üzerine çizim yapacak, bitmap ile ilişkili bir
//Graphics nesnesi oluştur.
grp = Graphics.FromImage(layoutBitmap);
//Bitmap'i picturebox da göster
PreviewPicturebox.Image = layoutBitmap;
}
}
private void PreviewPicturebox_MouseDown(object sender, MouseEventArgs e)
{
//Picturebox üzerine son tıklanan noktayı al ve Point p
//değişkeninde sakla
p = e.Location;
//Son tıklanan noktayı form başlığında göster
this.Text = p.ToString();
}
private void btnSave_Click(object sender, EventArgs e)
{
//Tıklanan noktaya textboxdaki değeri çizdir
grp.DrawString(
txtWaterMark.Text,
f,
new SolidBrush(Color.Black),
p
);
//Kaydet
DialogResult dr = saveDialog.ShowDialog();
if (dr == DialogResult.OK)
{
layoutBitmap.Save(saveDialog.FileName, ImageFormat.Jpeg);
}
}
}
}
[Onay]Eif[/Onay]