C# Microsoft Bot Framework Teams卡片图片上下裁剪问题咨询
问题原因
你当前使用的是Bot Framework封装的ThumbnailCard内置卡片类,这类卡片的图片展示规则由Teams平台硬编码控制,默认采用16:9的宽高比、裁剪溢出部分的填充策略,你之前只调整原图像素大小、没有匹配对应比例,所以还是会被裁剪。
修复方案
这个问题完全可修复,你可以根据需求选以下方案:
- 方案1:调整原图尺寸适配规则
把你要展示的图片调整为16:9的宽高比,推荐像素尺寸为1024×576,调整后再上传使用即可完全适配内置卡片的显示区域,不会出现裁剪。 - 方案2:改用Adaptive Card实现自定义控制
如果需要使用非16:9比例的图片,放弃内置的ThumbnailCard,改用原生Adaptive Card定义卡片结构:- 编写Adaptive Card的JSON结构,给Image节点设置
"fillMode": "fit"属性,即可让图片完整适配容器,仅保留空白边不做裁剪 - 将JSON序列化为Attachment对象后替换现有代码里的
card.ToAttachment()返回值即可,Adaptive Card的自定义灵活度远高于内置卡片类。
- 编写Adaptive Card的JSON结构,给Image节点设置
- 方案3:临时兼容方案
如果不想调整现有卡片结构,也可以在原图上下区域提前添加等比例的透明留白,让核心展示内容处于16:9的安全显示范围内,也能避免核心内容被裁剪。
内容的提问来源于stack exchange,提问作者Shootex
相关产品推荐
相关产品推荐

