Как сохранить изображение в папку после его преобразования?
Я пытаюсь сохранить изображение в папку после того, как оно было сохранено в памяти и преобразовано. Я не могу выяснить, как получить, что сделано.
Что я уже пробовал:
частное статическое изображение ScaleImage(Image image, int maxHeight)
{
двойная шкала;
если (изображение.Высота >= maxHeight) { масштаб = maxHeight / (двойное)изображение.Высота; }
else { scale = 1; }
Bitmap bmp = новое растровое изображение(изображение, преобразование.ToInt32(рис.Ширина * масштаб), конвертировать.ToInt32(рис.Высота * масштаб));
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
EncoderParameters jpgEncoderParameters = новые EncoderParameters(1);
jpgEncoderParameters.Param[0] = новый EncoderParameter(System.Рисование.Изображений.Кодировщик.качество, 100л);
MemoryStream ms = Новый Поток памяти();
bmp.Save(ms, jpgEncoder, jpgEncoderParameters);
верните изображение.FromStream(МС);
}
частный статический ImageCodecInfo GetEncoder(формат ImageFormat)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
по каждому элементу (ImageCodecInfo кодеки в кодеки)
{
if (кодек.FormatID == format.Guid) { возвращаемый кодек; }
}
возвращать null;
}
#endregion
частных статических недействительным Job_UpdateStaffDBPics(строка Лок)
{
DirectoryInfo diSource = новый DirectoryInfo(loc);
байт[] Pic = null;
byte[] StaffPicThumb = null;
foreach (FileInfo fi в diSource.Заражен())
{
пробовать
{
Файлового потока ФС = Fi интернет.OpenRead();
ImgSource образ = образ.FromStream(fs);
ImageConverter converter = новый ImageConverter();
Pic = (byte[])конвертер.ConvertTo(ScaleImage(imgSource, 600), typeof(байт[]));
StaffPicThumb = (byte[])конвертер.ConvertTo(ScaleImage(imgSource, 128), typeof(байт[]));
MemoryStream ms = новый MemoryStream(StaffPicThumb);
Image returnImage = изображение.FromStream(МС);
returnImage.Save("ConvertedImage", ImageFormat.Jpeg);
//Файл.Копия(returnImage)
по каждому элементу (ВАР пункт в пос)
{
}
Ящик для сообщений.Показать("Тест");
}
catch (Exception ex) { MessageBox.Показать(напр.сообщение); }
}
}
}
Patrice T
А у вас есть вопрос или проблема ?