0

我的机器人具有以下 FormBuilder:

public static IForm<BasicForm> BuildForm()
    {
        return new FormBuilder<BasicForm>()
            .Field(new FieldReflector<BasicForm>(nameof(Os))
                    .SetType(null)
                    .SetPrompt(new PromptAttribute("Please tell me the {&} {||}"))
                    .SetDefine(async (state, field) =>
                    {
                        List<string> list = new List<string> { "ANDROID" , "IOS" };
                        foreach (string item in list)
                        {
                            switch (item)
                            {
                                case "ANDROID":
                                    field
                                        .AddDescription(item, item, image: "<android-logo.jpg>")
                                        .AddTerms(item, item);
                                    break;
                                case "IOS":
                                    field
                                        .AddDescription(item, item, image: "<ios-logo.jpg>")
                                        .AddTerms(item, item);
                                    break;
                            }
                        }
                        return true;
                    }))
            .AddRemainingFields()
            .OnCompletion(async (context, state) =>
            {
                await context.PostAsync("Your request has been submitted. I am tracking your link. I will send you the result as soon as possible");
            })
            .Build();
    }

此代码生成以下 HeroCard来自 bot 框架模拟器的屏幕截图

问题是 HeroCard 似乎拉伸了图像:图像的原始尺寸是 200x200。有没有办法从 FormBuilder 中定义 HeroCard 图像的宽度和高度?

否则可以使用 ThumbnailCard 代替 HeroCard 吗?

谢谢。

4

1 回答 1

1

有没有办法从 FormBuilder 中定义 HeroCard 图像的宽度和高度?

不,目前还没有方法可以在后面的代码中修复大小。卡片中图像的大小针对不同的通道进行了不同的缩放。有关更多信息,您可以参考此讨论:Image not get fit inside herocard,Thumbnail card。.

否则可以使用 ThumbnailCard 代替 HeroCard 吗?

是的,有可能,您可以参考官方的Rich Cards Bot SampleCarousel of Cards Bot Sample。但是缩略图卡有默认模板,图片会显示在卡片的右上角,恐怕你的场景不需要。

所以我认为我们现在可以做的是根据不同通道的纵横比使用不同大小的图像资源。

于 2017-11-24T06:47:43.130 回答