我无法在照片背景中绘制头像

时间:2020-08-17 21:41:24

标签: c# discord.net imagesharp

如果您将png文件的路径替换为变量avatar,则机器人将在背景中输出带有背景和PNG照片的图像,但我想将自己的头像替换为png照片。我首先尝试编写上下文。 user.getavatarurl()刚取出我化身磁盘的链接,然后我发现了一个似乎使用化身的方法,但是它不起作用告诉我,我通常需要可变化身可以将我的化身输出到照片的背景所以 我将附上如果您将png文件替换为peremennoy头像会发生的情况:

enter image description here

public async Task TestCmd()
{
    var background = SixLabors.ImageSharp.Image.Load("my photo");

    var avatar = SixLabors.ImageSharp.Image.Load(GetProfileAvatar(Context.User));

    var imgpostion = new Point(x: 20, y: (background.Height / 2 - avatar.Height / 2));

    var img = background.Clone(x => 
    {
        x.DrawImage(avatar, imgpostion, 1);
    });

    var outputFile = $"my photo";

    img.Save(outputFile);

    await Context.Channel.SendFileAsync(outputFile);
}

public static Stream GetProfileAvatar(IUser user)
{
    WebRequest request = WebRequest.Create(user.GetAvatarUrl());
    WebResponse response = request.GetResponse();
    Stream responseStream = response.GetResponseStream();
    return responseStream;
}

0 个答案:

没有答案