Проблема с TextureBru sh на C#. NET Core - PullRequest
0 голосов
/ 24 февраля 2020

Итак, я хотел обрезать квадратное прозрачное изображение (аватар) на белый круг (finalImage). У меня есть функция, которая работает на Windows, но не на Linux, и я понятия не имею, почему. Зависимости все в порядке, и это работало.

public static async Task<Bitmap> CropAvatarToCircle(SocketUser user)
{

    Bitmap avatar = await CreateUserAvatarBitmap(user);
    Bitmap finalImage = new Bitmap(AVATAR_SIZE, AVATAR_SIZE);
    using (TextureBrush avatarTB = new TextureBrush(avatar))
    {
        using (Graphics gr = Graphics.FromImage(finalImage))
        {
            gr.SmoothingMode = SmoothingMode.AntiAlias;
            gr.FillEllipse(Brushes.White, 0, 0, AVATAR_SIZE, AVATAR_SIZE);
            gr.FillEllipse(avatarTB, 0, 0, AVATAR_SIZE, AVATAR_SIZE);
        }
    }
        return finalImage;
}

Это создает белый круг без изображения над ним. Я отлаживал это некоторое время, и это не другая функция, это связано с TextureBru sh, потому что другие кисти работают, но не bru sh с изображением.

Любые идеи будут с благодарностью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...