Странное поведение на определенных компьютерах при кадрировании с помощью AForge - PullRequest
0 голосов
/ 24 апреля 2019

Недавно я создал приложение обработки изображений .NET с помощью библиотеки AForge.NET. Программа отлично работает на всех 10 компьютерах в моем офисе, где она установлена, кроме двух. На этих двух компьютерах, когда пользователь пытается обрезать изображение, оно не обрезается с правильными координатами. Все смещено вниз и вправо. Компьютеры представляют собой смесь компьютеров с Windows 7 и Windows 10. Оба компьютера, демонстрирующие странное поведение, оба являются компьютерами с Windows 7, но он работает на других 5 компьютерах с Windows 7, на которых он установлен. Я проверил, что на каждом компьютере установлена ​​последняя версия .NET Framework, и проверил программу на этих компьютерах с изображениями, полученными из рабочих систем, чтобы убедиться, что это не проблема с форматом их изображений. Я в растерянности. Если кто-то видел что-то подобное раньше или имел проблемы с совместимостью с AForge, пожалуйста, дайте мне знать. Заранее спасибо!

Я не знаю, насколько сильно поможет мой исходный код, но вот код для функции обрезки. Если потребуется дополнительный код из других областей приложения, я могу их предоставить. Еще раз спасибо.

private void GetImage(object sender, EventArgs e)
        {
            int astartatX = (int)initial.X;
            int astartatY = (int)initial.Y;
            int aXdist1 = (int)(Final.X - initial.X);
            int aYdist1 = (int)(Final.Y - initial.Y);
            Crop anewcropper = new Crop(new Rectangle(astartatX * 8 - 125, astartatY * 8 - 125, aXdist1 * 8 + 250, aYdist1 * 8 + 250));
            Bitmap bmpToCrop = (Bitmap)Editor.Image;
            Bitmap anewcroppedImage = anewcropper.Apply(bmpToCrop);
            string processedpath = Path.Combine(pictures, baseprocessedpath);
            string newbaseFilename = Path.Combine(processedpath, "comic.jpg");
            string anewFilename = newbaseFilename.Insert(newbaseFilename.Length - 4, number.ToString());
            bmpToCrop.Dispose();
            anewcroppedImage.Save(anewFilename);
            Editor.Image = anewcroppedImage;
            Editor.SizeMode = PictureBoxSizeMode.StretchImage;
        }
...