i m пытается изменить размер загруженного изображения и сохранить его в определенном месте, заменив существующий файл. Но это приводит к ошибке: «Процесс не может получить доступ к файлу« C: \ Photo.jpg », потому что он используется другим процессом».Процесс не может получить доступ к файлу 'C: Photo.jpg', потому что он используется другим процессом.
вот мой код.
private void llblChangePlayerPicture_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
ofdPlayerPicture.Reset();
ofdPlayerPicture.Filter = "JPEG(*.jpeg,*.jpg)|*.jpeg;*.jpg|Bitmap (*.bmp)| *.bmp |PNGs(*.png)|*.png";
ofdPlayerPicture.ShowDialog();
Image newImage;
if (ofdPlayerPicture.FileName != "")
{
pboPlayerPicture.Image = null;
pboPlayerPicture.ImageLocation = null;
newImage = Resize(Image.FromFile(ofdPlayerPicture.FileName), new Size(250, 100));
SaveJpeg(Program.playerImagePath + regNo + "\\Photo1.jpg", newImage, 100);
}
вот мой сохранить изображение
public static void SaveJpeg(string path, Image img, int quality)
{
EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
System.IO.MemoryStream mss = new System.IO.MemoryStream();
System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite);
img.Save(mss, jpegCodec, encoderParams);
byte[] matriz = mss.ToArray();
fs.Write(matriz, 0, matriz.Length);
mss.Close();
fs.Close();
mss.Dispose();
fs.Dispose();
}
Incase Я хочу, чтобы удалить Photo.jpg с помощью функции File.Delete, это дает мне тот же вопрос. Любая помощь будет оценена по достоинству. Thanx