У меня есть функция, которая закрашивает рандомные пиксели на фото в зависимости от указанной степени "порчи" фото.
public Bitmap Break(float ratio)
{
if (ratio < 0 || ratio > 1)
{
throw new ArgumentException("Ratio must be in range 0..1");
}
var bitmap = new Bitmap(_path);
var width = bitmap.Size.Width;
var height = bitmap.Size.Height;
var pixelsToBrake = Math.Floor(width * height * ratio);
for (int i = 0; i <= pixelsToBrake; i++)
{
bitmap.SetPixel(new Random().Next(0, width), new Random().Next(0, height), Color.White);
}
return bitmap;
}
Но результат всегда получается какой-то странный: прослеживается некий приоритет в закрашивании
Это результат "синтетичности" рандома в C# или я где-то что-то неправильно написал?
Если убрать проверку на ratio и поставить какой-нибудь зверский коэффициент, то результат ещё более видимый