ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот код ужасен и не должен использоваться в производстве.Это проверка концепции.
Я хочу создать изображение, как показано ниже, используя C #, ключевые точки - это заштрихованные края и прозрачность всего изображения.
Вот мой результат на данный момент
Как видите, края закрашены.У меня вопрос: кто-нибудь знает, как растушевать края, используя чистый C # и поддерживать прозрачность, в настоящее время я использую стороннюю библиотеку с довольно неприятным на вид кодом?
Было бы интересно, если есть лучший подход кэто полная остановка.
Вот часть кода, который я использовал.
Bitmap bitmap = new Bitmap(width, height);
Graphics graphics = Graphics.FromImage(bitmap);
// Transparent Background
SolidBrush semiTransparentPen = new SolidBrush(Color.FromArgb(60, 31, 31, 31));
graphics.FillRectangle(semiTransparentPen, 0f, 0f, bitmap.Width, bitmap.Height);
// Feather edges
Bitmap bitmap1 = new Bitmap(bitmap);
Bitmap bitmap2 = new Bitmap(bitmap);
fipbmp.makeEdgesTransparentHorzSigma(bitmap1, 4, 4);
fipbmp.makeEdgesTransparentVertSigma(bitmap2, 4, 4);
fipbmp.MergeBmp(bitmap, bitmap1, bitmap2);
MemoryStream memoryStream = new MemoryStream();
bitmap.Save(memoryStream, ImageFormat.Png);
byte[] buffer = memoryStream.ToArray();