Menentukan faktor kualitas JPEG dengan menggunakan Visual C#.NET

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 324790 - Melihat produk di mana artikel ini berlaku.
Untuk Microsoft Visual Basic.NET versi artikel ini, lihat 324788.

Artikel ini merujuk kepada Microsoft berikut.NET Framework kelas perpustakaan namespaces:
  • System.Drawing.Imaging
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Kompresi file bersama Photographic Experts Group (JPEG) dikendalikan oleh serangkaian kuantisasi tabel. Biasanya, ada dua meja di setiap file: satu untuk informasi disetiap (bintang) dan yang lain untuk informasi chrominance (warna). Tabel ini adalah 8 x 8 matriks yang menentukan bagaimana blok 8 x 8 diskrit kosinus koefisien terkuantisasi.

Sebagian besar aplikasi memungkinkan Anda untuk menentukan nomor, disebut faktor kualitas JPEG, untuk mengendalikan tingkat kompresi. Nomor ini biasanya memiliki jangkauan dari 0 atau 1, yang mengakibatkan lebih kompresi dan file yang lebih kecil, 100, yang mengakibatkan hampir tidak ada kompresi dan file lebih besar. Namun, jumlah ini tidak disimpan dalam file.

Faktor kualitas JPEG yang digunakan untuk menghasilkan sepasang kuantisasi tabel. Banyak aplikasi yang didasarkan pada kode Independent JPEG Group (IJG) menghasilkan tabel kuantisasi sama sebagai kode referensi IJG. Namun, beberapa aplikasi dapat menggunakan tabel kustom kuantisasi sebaliknya.

Untuk informasi lebih lanjut tentang bagaimana kualitas faktor digunakan untuk mempengaruhi tabel kuantisasi, lihat JPEG spesifikasi dan kode referensi IJG, yang keduanya tersedia melalui bagian "Referensi" dari artikel ini.

INFORMASI LEBIH LANJUT

Menetapkan faktor kualitas JPEG

Encoder JPEG dalam System.Drawing memberikan encoder parameter untuk menetapkan faktor kualitas JPEG saat Anda menyimpan JPEG file. Parameter encoder ini sesuai Konvensi menggunakan integer dengan kisaran 1-100. Nilai parameter encoder ini mempengaruhi penciptaan dan penggunaan tabel kuantisasi berkaitan dengan faktor kualitas disarankan.

Berikut kode sampel menunjukkan bagaimana parameter encoder ini digunakan untuk menyimpan JPEG file dengan faktor kualitas tertentu:
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
    int j;
    ImageCodecInfo[] encoders;
    encoders = ImageCodecInfo.GetImageEncoders();
    for(j = 0; j < encoders.Length; ++j)
    {
        if(encoders[j].MimeType == mimeType)
            return encoders[j];
    }
    return null;
}
private void SaveJPGWithCompressionSetting( Image image, string szFileName, long lCompression )
{
    EncoderParameters eps = new EncoderParameters(1);
    eps.Param[0] = new EncoderParameter( Encoder.Quality, lCompression );
    ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
    image.Save( szFileName, ici, eps );
}
				

Mengambil faktor kualitas dari JPEG File

Faktor kualitas tidak disimpan secara langsung dalam JPEG file, sehingga Anda tidak bisa membaca faktor kualitas dari file. Namun, Anda dapat membaca kuantisasi tabel dari JPEG file dengan menggunakan PropertyItems properti pada Gambar kelas. Tetapi bahkan dengan kuantisasi tabel, Anda tidak selalu menentukan kualitas faktor.

Anda mungkin dapat menentukan faktor kualitas dengan membandingkan tabel kuantisasi terhadap IJG yang dihasilkan tabel "standar". Namun, karena beberapa aplikasi dapat menggunakan tabel, Anda tidak akan selalu menemukan pertandingan. Untuk informasi lebih lanjut tentang tabel kuantisasi, lihat bagian "Referensi".

REFERENSI

Untuk informasi lebih lanjut, kunjungi situs Web organisasi berikut:
Rumah situs Komite JPEG dan JBIG
Independent JPEG Group

Properti

ID Artikel: 324790 - Kajian Terakhir: 26 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Windows XP Professional
Kata kunci: 
kbdswgdi2003swept kbhowtomaster kbinfo kbmt KB324790 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:324790

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com