2012-05-09 17 views
0

Graphics.DrawStringメソッドを使用して画像にテキストを書き込むとき、 が保存されます。 このID私のコード:描画文字列を描画した後の画質を改善しました。#

Bitmap bitMapImage = new System.Drawing.Bitmap(Server.MapPath("~/k32.jpg")); 
Graphics graphicImage = Graphics.FromImage(bitMapImage); 
graphicImage.DrawString("string", font, s, new Point(10, 10)); 
graphicImage.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; 
     graphicImage.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; 
     graphicImage.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; 
     graphicImage.TextContrast = 0; 
Response.ContentType = "image/jpeg"; 
bitMapImage.Save(Server.MapPath("~/k33.jpg"), ImageFormat.Jpeg); 

どのように私は、テキストの品質を向上させることができますか?

bitMapImage.Save(Server.MapPath("~/k33.png"), ImageFormat.Png); 

それとも、本当にその後、JPEGに固執する場合: おかげ

答えて

0

上のテキストを書く前に、アンチエイリアスの設定を設定してみてくださいこれを参考にしてJPEG圧縮レベルを調整してみてください。MSDN How to: Set JPEG Compression Level

private void VaryQualityLevel() 
{ 
    // Get a bitmap. 
    Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg"); 
    ImageCodecInfo jgpEncoder = GetEncoder(ImageFormat.Jpeg); 

    // Create an Encoder object based on the GUID 
    // for the Quality parameter category. 
    System.Drawing.Imaging.Encoder myEncoder = 
     System.Drawing.Imaging.Encoder.Quality; 

    // Create an EncoderParameters object. 
    // An EncoderParameters object has an array of EncoderParameter 
    // objects. In this case, there is only one 
    // EncoderParameter object in the array. 
    EncoderParameters myEncoderParameters = new EncoderParameters(1); 

    EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 100L); 
    myEncoderParameters.Param[0] = myEncoderParameter; 
    bmp1.Save(Server.MapPath("~/k33.jpg"), jgpEncoder, myEncoderParameters); 
} 


private ImageCodecInfo GetEncoder(ImageFormat format) 
{ 

    ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); 

    foreach (ImageCodecInfo codec in codecs) 
    { 
     if (codec.FormatID == format.Guid) 
     { 
      return codec; 
     } 
    } 
    return null; 
} 
1

はあなたがロスレス画像フォーマットを使用して試すことができ、画像

関連する問題