Не добавляет пиксель на картинку - C#

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

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

Есть такой код, он должен добавлять пиксель на картинку, но по какой-то неведомой причине он этого не делает, объясните пожалуйста в чём проблема.
Листинг программы
  1. DirectoryInfo dirIn = new DirectoryInfo(@"C:\Users\Илья\Desktop\test1");
  2. foreach (var item in dirIn.GetFiles())
  3. {
  4. Console.WriteLine(item.Name);
  5. Bitmap bitm = new Bitmap(item.FullName);
  6. bitm.SetPixel(1, 1, Color.Red);
  7. bitm.Save(item.Name);
  8. Console.WriteLine("Изменён");
  9. }

Решение задачи: «Не добавляет пиксель на картинку»

textual
Листинг программы
  1. using System;
  2. using System.Drawing;
  3. using System.Drawing.Imaging;
  4. using System.IO;
  5. using System.Linq;
  6.  
  7. namespace ConsoleApp2
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             string path = @"D:\Temp\Nya";
  14.             DirectoryInfo dirIn = new DirectoryInfo(path);
  15.             foreach (var item in dirIn.GetFiles())
  16.             {
  17.                 try
  18.                 {
  19.                     var file = Path.Combine(path, item.FullName);
  20.                     Console.WriteLine(item.Name);
  21.                     var encoder = ImageCodecInfo.GetImageDecoders().FirstOrDefault(x => x.FormatID == ImageFormat.Jpeg.Guid);
  22.                     var encoderParams = new EncoderParameters(1);
  23.                     encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
  24.                     using (var memory = new MemoryStream())
  25.                     {
  26.                         using (var img = new Bitmap(file))
  27.                         {
  28.                             img.SetPixel(1, 1, Color.Red);
  29.  
  30.                             if (img.RawFormat.Guid == ImageFormat.Jpeg.Guid)
  31.                                 img.Save(memory, encoder, encoderParams);
  32.                             else
  33.                                 img.Save(memory, img.RawFormat);
  34.                         }
  35.                         File.WriteAllBytes(file, memory.ToArray());
  36.                     }
  37.                     Console.WriteLine("Изменён");
  38.                 }
  39.                 catch (Exception ex)
  40.                 {
  41.                     Console.WriteLine(ex);
  42.                 }
  43.             }
  44.         }
  45.     }
  46. }

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


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

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

12   голосов , оценка 4.167 из 5

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

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

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