C# ‘ta PictureBox nesnesi nedir?

C#’ ta Windows Form Application’ da bulunan toolbox (Araç Kutusu) listesinde PictureBox nesnesi bulunmaktadır.  PictureBox sayesinde uygulamamıza görüntülerin eklenmesini ve görüntülerin değişik biçimlerde gösterilmesini sağlayabiliriz. Toolbox’tan seçilen bir PictureBox’a görüntü yüklenmeden önce PictureBox formun üzerinde kod çalışmamışken aşağıdaki gibi gözükebilir.

pictureBox1
Şekil-1 : Görüntü yüklenmemiş bir PictureBox

Şekil-1’de görüntü yüklenmemiş bir PictureBox’ın formda bir dikdörtgen şeklinde görünmektedir. Görüntü yüklenmemiş bir PictureBox’ın içeriğinin PictureBox’ın arka plan rengi olduğu görünmekte. Forma yüklenen bir görüntü olduğunda PictureBox,  forma yüklenen görüntünün PictureBox’a gelen kısmını göstermez.

Kod çalıştırılmadan önce görüntü yüklenmemiş PictureBox’ın üzerine gelip tıklandığında aşağıdaki gibi bir görüntü oluşur.

pictureBox2
Şekil-2 : PictureBox’ın üzerine tıklandığında oluşan görüntü.

1) Görüntü Seç tuşuna basılınca PictureBox’a görüntü yüklemek için aşağıdaki gibi bir pencere açılır.

pictureBox2KaynakSec
Şekil-3 : PictureBox’ta Kaynak Seç penceresi

Şekil-3 ‘teki resimde kaynak seçme penceresinde pictureBox nesnesinde göstermek istediğimiz resmi içe aktarma işlemi yapıyoruz. Proje kaynak dosyası yazan kısmın altında içe aktarma bölümü var. Dosyamızı proje kaynak dosy

Proje Kaynak Dosyası

Proje kaynak dosyası: tuşuna basıldığında Yerel kaynak: tuşuna basılınca aktif olan tuşlar pasif, pasif olan tuşlar aktif olur. Burada projemizde (şu an kullanılmazsa bile) önceden yüklenen görüntüler gözükür. Çoğunlukla bu görüntüler projemiz içinde bulunan Resources klasöründeki görüntülerdir. Örneğin sunrise adlı bir görüntü projemizin içinde bulunmaktadır. Bu sunrise adlı bir görüntünün kullanılmakta olduğunu veya kullanıldığını göstermektedir.  sunrise yazısına tıklayınca sağ tarafta sunrise adlı görüntü görünmektedir. Tamam tuşuna basınca görüntü PictureBox’a yüklenir. Ya da İçe aktar… tuşuna basınca bir pencere açılır ve bize bir görüntü seçme hakkı tanır. Burada görüntüyü seçince sağ taraftaki yerde seçtiğimiz görüntü gözükür. Sonra Tamam tuşuna basılınca PictureBox’a görüntü yüklenmiş olur.

İçe Aktarma

Proje kaynak dosyası: tuşu aktifken aktif olan İçe aktar… tuşuna basılınca açılan pencereden seçilen görüntü sağ tarafta görülmektedir. Bu görüntü Tamam tuşuna basılarak PictureBox’a yüklenince projemiz içindeki Resources klasörünün içine de bir kopyası konur.  Ancak Yerel kaynak: tuşu aktifken aktif olan İçe aktar… tuşuyla PictureBox’a yüklenen bir görüntünün kopyası projemiz içindeki Resources klasörünün içine kopyalamaz.

2) Boyut Modu ayarlamasını yapmak için kullanılan kontrol, PictureBox’ın içindeki görüntünün PictureBox’ın içine nasıl yerleşeceğini belirlersiniz. Yani Bu kısım Normal, StretchImage, AutoSize, CenterImage ve Zoom değerlerini alır. Bunları açıklayalım:

a) Normal

Bu özelliği kullandığınız zaman Görüntü direkt olarak PictureBox içine sol üst köşeden itibaren konur. Eğer PictureBox’ın boyutları görüntüden küçükse görüntünün sığmayan kısmı PictureBox’ta gözükmez. Şayet görüntünün boyutları PictureBox’dan küçükse PictureBox’ın görüntüyle dolmayan kısmı PictureBox’ın arka plan rengi ile doldurur.

b) StretchImage : 

Görüntünün boyutu otomatik olarak PictureBox’ın boyutuna göre ayarlanır. Böylece görüntünün tamamı PictureBox’ın içinde gözükür. Ancak bu durumda görüntünün çözünürlüğünde sıkıntılar olabilir. Örneğin görüntünün boyutu PictureBox’tan küçükse bu durumda görüntü PictureBox’ın tamamını bulanık bir şekilde kaplar.

c) AutoSize

PictureBox’a yüklenen görüntünün boyutları otomatik olarak PictureBox’ın boyutlarının değerlerine atanır. Yani PictureBox’ın boyutları otomatik olarak görüntünün boyutları olur.

d) CenterImage :

 Bu özelliği kullandığınızda Görüntüyü otomatik olarak PictureBox’ın ortasına yerleştirirsiniz. Eğer PictureBox’ın boyutları görüntüden küçükse görüntünün sığmayan kısmı PictureBox’ta gözükmez. Şayet görüntünün boyutları PictureBox’dan küçükse PictureBox’ın görüntüyle dolmayan kısmı PictureBox’ın arka plan rengi ile doldurulur.

e) Zoom özelliği : 

Adından da anlaşılacağı gibi Görüntünün PictureBox’ta zum yaparak görünmesini sağlar.

Bu kısımda Normal, StretchImage, AutoSize, CenterImage ve Zoom değerleri PictureBox’ın tasarım kısmındaki Özellikler sekmesinde bulunan SizeMod ile de ayarlanabilir.

PictureBox kullanımı

Yazımızın buraya kadar olan kısmında program çalışmadan önce yapmanız gerekenleri anlattık. Bundan sonra ise Program çalıştığında bu ayarlamaları yapmamanız gerekiyor. Yani kodumuz çalıştığında PictureBox’a tıkladığımızda beyaz kare şeklinde noktalar ve ok görünmez. Bununla beraber bunlar üzerinden yapılan ayarlamalar aktif olmaz. Bu ayarlamaları uygulama çalışırken yapmak için kod olarak bu ayarların projeye eklenmesi gerekir.

Örneğin; PictureBox’a kod çalışırken görüntü yüklemek istenirse OpenFileDialog nesnesinden faydalanabilirsiniz. Bunun için aşağıdaki gibi bir kod parçası yazın.

pictureBox1.ImageLocation = openFileDialog1.FileName;

Yukarıdaki ifade ile OpenFileDialog nesnesinde seçilen görüntünün yolu FileName ile PictureBox’a aktardık. PictureBox da görüntünün yolunu ImageLocation ile almaktadır. Yani Burada pictureBox1 adında bir PictureBox ve openFileDialog1 adında bir OpenFileDialog vardır.

PictureBox’a görüntüyü koymak için başka yollarda kullanılmaktadır. Bunlar pictureBox1 adında bir PictureBox üzerinden aşağıda

1) pictureBox1.Image = Image.FromFile(“D:\\sunrise.jpg”);

Yukarıdaki satırda pictureBox1’e bilgisayarda bulunan bir görüntü direkt görüntünün yolu verilerek aktarılmaktadır. Yani Burada görüntünün D klasörü altında sunrise isminde ve jpg türünde olduğu belirtilmektedir.

Burada pictureBox1 görüntüyü almak için Image kullanmaktadır.

2) pictureBox1.ImageLocation="https://trmsma.files.wordpress.com/2017/09/object-browser.jpg";

Yukarıdaki satırda pictureBox1’e internet üzerinden bir resim yükler. Burada pictureBox1’in ImageLocation kullandığına dikkat etmeniz gerekiyor.

3) pictureBox1.ImageLocation = “sunrise.jpg ”;

Yukarıdaki satırda pictureBox1’e bilgisayarda çalıştığı dizinde bulunan sunrise adında jpg türünde bir görüntü aktarılmaktadır.

Picturebox nesnesinin bazı özelliklerinin kullanımı aşağıdadır.

1) Normal özelliği kullanmak için;

pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Normal;

2) StretchImage özelliği için;

pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;

3) AutoSize özelliği için;

pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;

4) CenterImage özelliği için;

pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;

5) Zoom özelliği için;

pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;

Bu yazımızın sonuna geldik. C# ile ilgili diğer yazılarımıza da göz atabilirsiniz.

Leave A Comment

All fields marked with an asterisk (*) are required