İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Watermark Application Yapalım C#

Eif

0
İyinet Üyesi
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:
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
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
Güzel uygulama, bunun birde PHP versionunu yapabiliriz.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst