pillinetwork hesabınızla giriş yapın.

c# resim format çevirici jpeg, gif, png, bitmap, tiff

Zamanında bir arkadaşım için yazdığım resim çevirme nesnesi. Resmin formatını çevirmekle kalmayıp kalitesini de değiştirebilirsiniz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
public class Converter
{
public enum enumImageTypes
{
Bitmap,
Jpeg,
Gif,
Tiff,
Png
}
public string ImagePath;
public enumImageTypes ImageType;
public int Quality;
public Converter()
{
this.Quality = 100;
}
public Converter(string inImagePath, enumImageTypes inImageType) : this(inImagePath, inImageType, 100)
{
}
public Converter(string inImagePath, enumImageTypes inImageType, int inQuality)
{
this.ImagePath = inImagePath;
this.ImageType = inImageType;
this.Quality = inQuality;
}
public void Convert()
{
Bitmap bitmap = new Bitmap(ImagePath);
ImageCodecInfo[] imgCodecs = ImageCodecInfo.GetImageEncoders();
EncoderParameters imgParams = new EncoderParameters(1);
EncoderParameter imgQuality = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, Quality);
string imgExt;
imgParams.Param[0] = imgQuality;
imgExt = imgCodecs[(int)ImageType].FilenameExtension;
imgExt = imgExt.Substring(1, imgExt.Length - 1);
string fullpath = ImagePath.Substring(0, ImagePath.Length - 4) + imgExt.Split(';')[0].ToLower().Replace('ı', 'i');
bitmap.Save(fullpath, imgCodecs[(int)ImageType], imgParams);
bitmap.Dispose();
}
public string imagePath
{
get { return this.ImagePath; }
set { this.ImagePath = value; }
}
public enumImageTypes imageType
{
get { return this.ImageType; }
set { this.ImageType = value; }
}
public int quality
{
get { return this.Quality; }
set { this.Quality = value; }
}
}

/* skid yazdı. 17 Nisan 2009 11:02. 2 yorum var */

Yorumlar

hım. güzel bir şeye benziyor ama nasıl kullanıcaz acaba ben anlamadım?
nereye yerleştircez kodu nasıl yapıcaz?

/* // SiyakTasarım* */

kusura bakmayın açıklama yazma konusunda pek becerikli değilimdir.


kodu bu şekilde kullanabilmek için ilk önce System.Drawing.Imaging kütüphanesini kodunuza eklemeniz gerekmektedir.


using System.Drawing.Imaging;




Kodun kullanımı:



Converter conv = new Converter();
conv.imagePath = "dosya\\yolu\\dosya_adi.tip";
//openFileDialog1.FileName ile de aktarılabilir
conv.imageType = Converter.enumImageTypes.Png; 
//hangi tipe çevireceğinize göre enumdan Bitmap, 
  Tiff, Gif, Png veya Jpeg seçebilirsiniz.
conv.quality = 80; 
//Yüzde (%) olarak sonuç resmin kalitesi. Kullanmazsanız 
  varsayılan %100'dür.
conv.Convert();
//çevirme işlemini yapar.




Diğer constructorların kullanımı:


conv = new Converter("dosya\\yolu\\dosya_adi.tip", 
          Converter.enumImageTypes.Png);
//veya
conv = new Converter("dosya\\yolu\\dosya_adi.tip",     
          Converter.enumImageTypes.Png, 60);
//bu şekilde yaratıp
conv.Convert();
//ile çevirme işlemini gerçekleştirebilirsiniz.




Mevcut kod, dosya ismi ve yolunu korur tipini ve istenirse kalitesini değiştirerek kaydeder. Eğer isterseniz işlem gören dosyayı istediğiniz klasöre ve istediğiniz isimle de kaydedebilirsiniz. Bunun için sınıf içinde Convert fonsksiyonun sonlarında yer alan


string fullpath = ImagePath.Substring(0, ImagePath.Length - 4) 
               + imgExt.Split(';')[0].ToLower().Replace('ı', 'i');

kısmı dilediğiniz gibi değiştirebilirsiniz.

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

pilliilan

son yorumlar

arama

pillinetwork