Использование format factory из своей программы - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Как можно взаимодействовать с функциями других программ из своей? Мне необходимо запустить конвертацию скачанных моей программой изображений в программе format factory, но чтобы все это происходило автоматически.

Решение задачи: «Использование format factory из своей программы»

textual
Листинг программы
  1. public static class ImageHelper
  2. {
  3.     /// <summary>
  4.     /// Resize the image to the specified width and height.
  5.     /// </summary>
  6.     /// <param name="image">The image to resize.</param>
  7.     /// <param name="width">The width to resize to.</param>
  8.     /// <param name="height">The height to resize to.</param>
  9.     /// <returns>The resized image.</returns>
  10.     public static Bitmap ResizeImage(Image image, int width, int height)
  11.     {
  12.         var destRect = new Rectangle(0, 0, width, height);
  13.         var destImage = new Bitmap(width, height);
  14.  
  15.         destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);
  16.  
  17.         using (var graphics = Graphics.FromImage(destImage))
  18.         {
  19.             graphics.CompositingMode = CompositingMode.SourceCopy;
  20.             graphics.CompositingQuality = CompositingQuality.HighQuality;
  21.             graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
  22.             graphics.SmoothingMode = SmoothingMode.HighQuality;
  23.             graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
  24.  
  25.             using (var wrapMode = new ImageAttributes())
  26.             {
  27.                 wrapMode.SetWrapMode(WrapMode.TileFlipXY);
  28.                 graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
  29.             }
  30.         }
  31.  
  32.         return destImage;
  33.     }
  34.  
  35.     public static Bitmap ResizeImage(Image image, decimal percentage)
  36.     {
  37.         int width = (int)Math.Round(image.Width * percentage, MidpointRounding.AwayFromZero);
  38.         int height = (int)Math.Round(image.Height * percentage, MidpointRounding.AwayFromZero);
  39.         return ResizeImage(image, width, height);
  40.     }
  41. }
  42.  
  43. class Program
  44. {
  45.     static void Main(string[] args)
  46.     {
  47.         string fileName = @"C:\Images\MyImage.jpg";
  48.         FileInfo info = new FileInfo(fileName);
  49.         using (Image image = Image.FromFile(fileName))
  50.         {
  51.             using(Bitmap resizedImage = ImageHelper.ResizeImage(image, 0.25m))
  52.             {
  53.                 resizedImage.Save(
  54.                     info.DirectoryName + "\"
  55.                        + info.Name.Substring(0, info.Name.LastIndexOf(info.Extension))
  56.                        + "_" + resizedImage.Width + "_" + resizedImage.Height
  57.                        + info.Extension,
  58.                    ImageFormat.Jpeg);
  59.            }
  60.        }
  61.    }
  62. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы