Не добавляет пиксель на картинку - 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); } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д