Panel kontrolünü resim olarak yazdırma

Up uzuunn süreden sonra merhaba… Windows form da panel kontrolü yazıcıdan yazdırmak için kontrolün görüntüsünü resim olarak kayıt edip, kayıt edilen o resmi yazdırabiliriz. Diğer VS kontrollerini bu şekilde yazdıra bilirmiyiz ? sorusunu soracak olursanız cevabım evet.

Örnek de panel kontrolünü kullanmamın sebebi; runtime da veya çalıştırmadan önce panel kontrolü içine eklediğimiz zamazingoları direk yazdırabilmek için kullandım. Mesela reçete programında panel içine yazdırılan ürünleri yazıcıdan çıktı almak için döngülerle dönecek yerine resim olarak alıp yazıcıdan basit bir şekilde yazdırabiliriz.

panel-resim-yazdirma

Sözü(yazıyı) fazla uzatmadan örneğe geçecek olursak. Resimdeki gibi forma; panel, button ve panel içine yazdırılması için bir kaç tane label sallayın. Buton clik olayına gelerek aşağıdaki kodları yapıştırın. Gerekli açıklamalar kodlar içinde verilmiştir.

[cc lang=’csharp’ ] private void btnYazdir_Click(object sender, EventArgs e)
{
int genislik = panel1.Size.Width;
int yukseklik = panel1.Size.Height;

using (Bitmap bmp = new Bitmap(genislik, yukseklik))
{
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, genislik, yukseklik));
bmp.Save(“resim.png”, ImageFormat.Png);
}

// buraya kadar olan kısımda Panel’in resmini oluşturuyoruz.

PrintDocument prt = new PrintDocument();
prt.PrintPage += new PrintPageEventHandler(resmiYazdir);
prt.Print();

// Oluşturduğumuz resmi burada aşağıdaki metod yardımı ile yazdırıyoruz.

}

void resmiYazdir(object o, PrintPageEventArgs e)
{
System.Drawing.Image i = System.Drawing.Image.FromFile(“resim.png”);
Point p = new Point(0, 0);
e.Graphics.DrawImage(i, p);

}[/cc]

[wpdm_file id=20]

“Panel kontrolünü resim olarak yazdırma” üzerine 2 yorum

  1. bir kaç gündür uğraştığım ve beni zorlayan bi işi iki satırlık koda dönüştürmüş bu yazınız. teşekkür etmek istedim emeğinize sağlık….

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir