Не добавляет пиксель на картинку - C#
Формулировка задачи:
Есть такой код, он должен добавлять пиксель на картинку, но по какой-то неведомой причине он этого не делает, объясните пожалуйста в чём проблема.
DirectoryInfo dirIn = new DirectoryInfo(@"C:\Users\Илья\Desktop\test1");
foreach (var item in dirIn.GetFiles())
{
Console.WriteLine(item.Name);
Bitmap bitm = new Bitmap(item.FullName);
bitm.SetPixel(1, 1, Color.Red);
bitm.Save(item.Name);
Console.WriteLine("Изменён");
}Решение задачи: «Не добавляет пиксель на картинку»
textual
Листинг программы
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
string path = @"D:\Temp\Nya";
DirectoryInfo dirIn = new DirectoryInfo(path);
foreach (var item in dirIn.GetFiles())
{
try
{
var file = Path.Combine(path, item.FullName);
Console.WriteLine(item.Name);
var encoder = ImageCodecInfo.GetImageDecoders().FirstOrDefault(x => x.FormatID == ImageFormat.Jpeg.Guid);
var encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
using (var memory = new MemoryStream())
{
using (var img = new Bitmap(file))
{
img.SetPixel(1, 1, Color.Red);
if (img.RawFormat.Guid == ImageFormat.Jpeg.Guid)
img.Save(memory, encoder, encoderParams);
else
img.Save(memory, img.RawFormat);
}
File.WriteAllBytes(file, memory.ToArray());
}
Console.WriteLine("Изменён");
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
}
}