Memik Yanık - Kişisel Web Sitesi Ana Sayfa | Hakkımda | Kitap Önerileri | Fotoğraflarım | RSS RSS | İletişim

Resim Dosyalarını Yazdırmak


Bu makalede C# uygulaması dahilinde PictureBox’ta içeriği görüntülenen resim dosyalarını nasıl yazdırabileceğinizden kısaca söz edeceğiz. Bu amaçla forma PictureBox, PrintDocument ve Button nesnesi yerleştirdik.



PictureBox nesnesindeki resim yazdırılmak istendiği zaman “Yazdır” düğmesi tıklanacak. “Yazdır” düğmesi tıklandığı zaman işletilecek kodda Print() metoduna yer verdiğimiz için PrintDocument nesnesiyle ilgili olarak PrintPage olayı meydaba gelir.

private
voidYazdir_Click(objectsender, EventArgs
e)
{
  printDocument1.Print();
}


Formdaki PictureBox’ın içeri­ğinin yazdırılmasını sağlamak için PrintDocument nesnesinin PrintPage olayını temsil eden metodu aşağıdaki gibi düzenledim. 

private void printDocument1_PrintPage(object sender,PrintPageEventArgs e) 
 
   int X = printDocument1.DefaultPageSettings.Margins.Left; 
   int Y = printDocument1.DefaultPageSettings.Margins.Top; 
   int Genislik = pictureBox1.Width; 
   int Yukseklik = pictureBox1.Height; 
   e.Graphics.DrawImage(pictureBox1.Image, X, Y, Genislik, Yukseklik); 
 

PictureBox nesnelerinin içeriklerini yazdırırken Graphics sınıfının DrawImage() metodu kullanılmaktadır. Bu metot 1. parametre olarak yazdırılmak istenen Image nesnesini almak­tadır. 2. ve 3. parametrelerde yazdırmanın yapılacağı koordinat işaret edilmektedir. 4. ve 5. parametrede ise resmin kağıt üzerindeki boyutları belirtilmektedir. 

PictureBox’a aktarılan resmi büyütüp veya küçültüp öyle yazdırmak istiyorsanız bu kodu aşağıdaki gibi düzenleyebilirsiniz. Aşağıda verilen metot sayesinde PictureBox’a aktarılan resim yüzde yüz büyütülüp öyle yazdırılır. 

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) 
 
   int X = printDocument1.DefaultPageSettings.Margins.Left; 
   int Y = printDocument1.DefaultPageSettings.Margins.Top; 
   int Genislik = pictureBox1.Width * 2; 
   int Yukseklik = pictureBox1.Height * 2; 
   e.Graphics.DrawImage(pictureBox1.Image, X, Y,Genislik, Yukseklik); 
 

PictureBox’ın içeriğini yazdırırken kağıdın üzerine ayrıca sabit bilgi yazdırmak istiyorsa­nız aşağıda yapıldığı gibi Graphics sınıfının DrawString() metodunu kullanmalısınız. 

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) 
 
   int X = printDocument1.DefaultPageSettings.Margins.Left; 
   int Y = printDocument1.DefaultPageSettings.Margins.Top; 
   int Genislik = pictureBox1.Width *2; 
   int Yukseklik = pictureBox1.Height *2; 
   Font yazi_tipi = new Font("Tahoma", 12, FontStyle.Bold);   
   e.Graphics.DrawImage(pictureBox1.Image, X, Y, Genislik, Yukseklik); 
   e.Graphics.DrawString("Terazi Resmi", yazi_tipi, Brushes.Black, 200, 200);     
 

Yazdırmak istediğiniz dosyayı PictureBox’ta görüntülemeden direk yazıcıya gönderebilirsiniz. Bu işlemin nasıl yapıldığını aşağıda görebilirsiniz. Forma OpenFileDialog nesnesi yerleştirip yazdırılacak resim dosyasını kullanıcıya seçtirebilirsiniz. 

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) 
 
   Image resim = Image.FromFile("C:\\Terazi.bmp");  
   int X = printDocument1.DefaultPageSettings.Margins.Left; 
   int Y = printDocument1.DefaultPageSettings.Margins.Top; 
   int Genislik = resim.Width *2; 
   int Yukseklik = resim.Height *2; 
   e.Graphics.DrawImage(resim, X, Y, Genislik, Yukseklik); 
 }

 Visual C# İçin ADO.NET Kitabı:Rakibi Çok Yerini Tutan Yok 

Önce şu ADO.NET nedir sorusuna cevap verelim: Visual Basic 3.0’te veritabanı işlemleri yapılırken kullanılan teknolojinin adı DAO yani Database Access Object’i. DAO, Microsoft tarafından geliştirilen JET adlı veritabanı motorunu ve Windows’la gelen ODBC sürücülerini kullanıyordu. Microsoft firması bir süre sonra Visual Basic programcıları ADO’yu yani ActiveX Data Objects’i geliştirdi. 2002 yılında piyasaya verilen ilk .NET Framework sürümüyle birlikte ise ADO.NET programcıların istifadesine sunuldu. .NET Framework’le gelip veritabanı işlemleri yapılırken yararlanılan sınıfların hepsine birden ADO.NET adı verilmektedir.



Bu kitabın hedef okur grubu daha önce C# hakkında az çok bilgi edinmiş olmasına rağmen C# uygulamalarında veritabanı işlemlerini yapmakta zorlananlardır. Bu hedef okur grubu içinde daha önce SQL Server’la hiç ilgilenmemişlerin olabileceğini düşünerek SQL Server hakkında özet bilgi vermeyi denedik. Yani daha önce SQL Server’la hiç çalışmamış hiç uğraşmamış olanlar bile bu kitabı okuduklarında rahatlıkla SQL Server’ı kurup veritabanı hazırlayıp C# uygulaması dahilinde istedikleri veritabanı işlemlerini yapabilir duruma gelirler.
Bu kitabı okuyanlar SQL veya Access veritabanlarına bağlanırken sorun yaşamazlar, uygulamalarını dağıtmak için akla karayı seçmezler, yazılanları anlamak için tekrar tekrar okumak zorunda kalmazlar. 

SQL Server Veritabanları
Access Veritabanları
SqlConnection ve OleDbConnection Sınıfları
BindingSource ve BindingNavigator
Command Nesneleri
DataGrid ve DataGridView
DataReader ve DataAdapter Sınıfları
DataSet ve DataTable
Stored Procedure ve Trigger Hazırlamak
Blob Alanlar
Xml Dosyaları
Transaction’lar
CLR Destekli Veritabanı İşlemleri
Uygulamaları Dağıtmak
ClickOnce Teknolojisi
Crystal Reports 

Bu kitabı aşağıda verilen adresten temin edebilirsiniz. 

http://www.hepsiburada.com/visual-c-icin-ado.net-2.-cilt/productDetails.aspx?categoryid=211651&productid=kseckin10852

C#.NET 09.10.2009 02:36:23

2 YORUM


YorumlarYorum Yaz
Ana Sayfa | Hakkımda | Kitap Önerileri | Fotoğraflarım | RSS | İletişim
Memik Yanık 2004-2009 © Tüm Hakları Saklıdır.
Hazırlayan www.semgoksu.com