C〓〓の中で指定の品質によってピクチャーの実例のコードを保存します。
プログラムの中で直接jpgピクチャを生産して、品質が原図に及ばないのは、マイクロソフトのImage.Save方法がピクチャ圧縮品質75まで保存しているため、保存したピクチャの品質が低いため、生成したピクチャの品質を向上させるには、自分でEncder Parameters類の品質パラメータとImageCodecInfo類のピクチャ保存フォーマットを設定する必要があります。System.Drawing.Imaging.Enccoder類は表示する方式と各種パラメータを制定しています。例えば、ピクチャ品質パラメータ、スキャン方法パラメータ、色度表パラメータ、圧縮パラメータ、色深度など。ここに来て、画質のステップと方法を修正することが分かります。主にSystem.Drawing.Imaging.Encers設定です。そして、System.Drawingg.Imaging.Encoderによって作られたEnccoder Parameeter類は、Encocder ParameeterをEncer Coder Parameters配列に渡すことで、自分の意思にぴったりの画像を手に入れることができます。へへ,山のように言いましたが、コードは簡単です。
まず導入します。using System.Drawingg.Imaging。
まず導入します。using System.Drawingg.Imaging。
/// <summary>
/// ( Image.Save 75)
/// </summary>
/// <param name="sourceImage"> Image </param>
/// <param name="savePath"> </param>
/// <param name="imageQualityValue"> , 1 100 , , </param>
/// <returns> , true; , false</returns>
public bool SaveImageForSpecifiedQuality(System.Drawing.Image sourceImage, string savePath, int imageQualityValue)
{
// ,
EncoderParameters encoderParameters = new EncoderParameters();
EncoderParameter encoderParameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, imageQualityValue);
encoderParameters.Param[0] = encoderParameter;
try
{
ImageCodecInfo[] ImageCodecInfoArray = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo jpegImageCodecInfo = null;
for (int i = 0; i < ImageCodecInfoArray.Length; i++)
{
if (ImageCodecInfoArray[i].FormatDescription.Equals("JPEG"))
{
jpegImageCodecInfo = ImageCodecInfoArray[i];
break;
}
}
sourceImage.Save(savePath, jpegImageCodecInfo, encoderParameters);
return true;
}
catch
{
return false;
}
}
呼び出し方法:
System.Drawing.Image image = System.Drawing.Image.FromFile("D:\\TestImage\\0.jpg");
SaveImageForSpecifiedQuality(image, "D:\\TestImage\\1.jpg", 100, ImageFormat.Jpeg);image.Dispose();