나는는 이미지를 저장, 일반 오류가 GDI에서 발생 +
일반 오류가 여기
img.Save(path, jpegCodec, encoderParams);
코드의 전부입니다 호출 할 때 GDI에 +
예외를 발생 얻을 :
private Image img;
private void button1_Click(object sender, EventArgs e)
{
this.img = Image.FromFile(@"path");
pictureBox1.Image = img;
if (img.Height < pictureBox1.Height && img.Width < pictureBox1.Width)
{
this.pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
}
Graphics g = Graphics.FromImage(img);
Font font=new Font("Arial",16);
SolidBrush brush = new SolidBrush(Color.Black);
brush.Color = Color.FromArgb(255, 0, 0, 255);
g.DrawString("myName", font, brush, img.Width - 178, img.Height-105);
}
private void button2_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(img);
saveJpeg(@"path", bitmap, 85L);
}
private void saveJpeg(string path, Bitmap img, long quality)
{
// Encoder parameter for image quality
EncoderParameter qualityParam =new EncoderParameter(Encoder.Quality, quality);
// Jpeg image codec
ImageCodecInfo jpegCodec = getEncoderInfo("image/jpeg");
if (jpegCodec == null)
return;
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
//img.Save(path, jpegCodec, encoderParams);
img.Save(path, jpegCodec, encoderParams);
}
private ImageCodecInfo getEncoderInfo(string mimeType)
{
// Get image codecs for all image formats
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
// Find the correct image codec
for (int i = 0; i < codecs.Length; i++)
if (codecs[i].MimeType == mimeType)
return codecs[i];
return null;
}
도와 주시겠습니까?
OP 문제 해결 방법을 알려주십시오. –