GDI+ ile Grafiğin Formatını Değiştirmek

GDI+ içerisinde desteklenen aşağıdaki formatlardaki grafikleri kullanmakta ve birbirine çevirmekte sorun yoktur.

  • BMP
  • GIF
  • JPEG
  • PNG
  • TIFF

GDI+ ile grafiklerin formatını değiştirmek oldukça kolay ve tek satırlık bir işlem. Fakat bunu kontrollere taşımak ve sayfalar içerisinde kullanmak bir sonraki adımı oluşturuyor.

string grafikYolu = "c:\\örnek1.jpg";
Image grafik;
grafik = Image.FromFile(grafikYolu);

Yukarıdaki kod parçası ile ilgili grafiği nesne olarak tanımlıyorduk. Tabi burada grafiğin kaynağı diskteki bir dosya olduğu gibi resource dosyasında tanımlı bir nesne, bellekteki bir grafik veya PictureBox kontrolü içindeki veri de olabilirdi.

Formatı değiştirirken kullanılan metod şu şekildedir.

grafik.Save("örnek1.gif", ImageFormat.Gif);

Daha sonra örnek1.gif grafiğini istediğimiz yerde kullanabilsekte burada yapılan aslında belki tam da istediğimiz şey değildir. Çünkü her işlemde diske kaydetmeye ihtiyaç duymayız. Bu işlemi bellekte yapmak ve yeni grafiği istediğimiz gibi kullanmak için MemoryStream sınıfını kullanmalıyız.

MemoryStream memoryStream = new MemoryStream();
grafik.Save(memoryStream, ImageFormat.Jpeg);

MemoryStream ile elde ettiğimiz grafik nesnesini bir web sayfası içerisinde veya PictureBox kontrolü ile kullanabiliriz.

PictureBox kontrolü ile;

pictureBox.Image = Image.FromStream(memoryStream);

Web sayfasında göstermek;

memoryStream.WriteTo(Response.OutputStream);

Yorum yapabilirsiniz

Adınız  


E-Posta  


Yorumunuz