Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Watermark Application Yapalım C#

Eif

0
Onaylı Üye
Üye
Katılım
26 Ocak 2005
Mesajlar
7,943
Açılan Konu
325
Tepki puanı
251
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:
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]
 

Loi

0
Onaylı Üye
Üye
Katılım
13 Kasım 2006
Mesajlar
6,192
Açılan Konu
145
Tepki puanı
44
Konum
localhost
Güzel uygulama, bunun birde PHP versionunu yapabiliriz.
 
Üst