使用Teams Webhook发送MessageCard时图片被圆角变形问题求助
问题
通过Webhook向Teams频道发送包含图片的消息时,使用activityImage参数能成功发送消息,但图片始终被圆角处理且变形,需要让小图按原尺寸显示。已排除base64编码问题,推测是语法问题,但未找到相关讨论。尝试过MessageCard的image、images和heroImage参数,均无法在Teams中成功显示图片。
MessageCard代码:
{"@type":"MessageCard","@context":"https://schema.org/extensions","summary":"summary","themeColor":"2e8b57","title":"Daily Scrum","sections":[{"activityImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAVSURBVBhXY3hvaf9WRYcBiN/KqAAAJ40FDwasafMAAAAASUVORK5CYII="}]}
注:图片编码使用base64图片转换工具生成。
解决方案
MessageCard的activityImage属性本身是为头像类场景设计的,默认会做圆角裁剪,无法通过参数修改该样式;而image/images/heroImage参数在Teams Webhook中的支持性有限,易出现显示异常。
建议改用Adaptive Cards实现需求,它对图片的样式控制更灵活,能精准设置尺寸和显示效果,以下是示例代码:
{ "type": "AdaptiveCard", "version": "1.4", "body": [ { "type": "TextBlock", "text": "Daily Scrum", "size": "Large", "weight": "Bolder" }, { "type": "Image", "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAVSURBVBhXY3hvaf9WRYcBiN/KqAAAJ40FDwasafMAAAAASUVORK5CYII=", "width": "50px", "height": "50px", "style": "Default" } ] }
关键说明:
- 用
Image控件替代activityImage,通过width和height指定图片原尺寸 - 设置
style为Default,避免图片被圆角裁剪 - Adaptive Cards是Teams官方推荐的灵活消息格式,支持更多自定义样式
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

