如何使用C# Interop在Word文档中插入带填充图案的圆形?
用Word Interop实现带填充图案的圆形
要实现带填充图案的圆形,你需要使用Word Interop中Shape对象的Fill.Patterned方法,而非单纯设置填充颜色和线条样式。你的当前代码仅给圆形添加了半透明白色填充和点状线条,并未用到填充图案功能。
修改后的完整代码
public void CirclewithPattern(Document doc) { int shapeType = (int)MsoAutoShapeType.msoShapeOval; Shape shape = doc.Shapes.AddShape(shapeType, 40, 100, 10, 10); // 启用填充并设置图案样式 shape.Fill.Visible = MsoTriState.msoTrue; // 设置填充图案类型(示例为深色右下斜纹,可按需更换) shape.Fill.Patterned(MsoPatternType.msoPatternDarkDownwardDiagonal); // 图案线条颜色(黑色) shape.Fill.ForeColor.RGB = (int)0x000000; // 图案底色(白色,可自定义) shape.Fill.BackColor.RGB = (int)0xFFFFFF; // 设置圆形轮廓(按需调整) shape.Line.Visible = MsoTriState.msoTrue; shape.Line.ForeColor.RGB = (int)0x000000; shape.Line.Weight = 1; }
关键说明
- 填充图案类型:
MsoPatternType枚举提供了多种预设图案,比如msoPatternLightHorizontal(浅色水平线条)、msoPatternGrid(网格)、msoPatternDarkUpwardDiagonal(深色左上斜纹)等,可根据预期效果选择对应枚举值。 - 颜色设置:
Fill.ForeColor控制图案线条的颜色,Fill.BackColor控制图案的底色,两者配合实现预期的图案视觉效果。 - 轮廓设置:如果不需要圆形的外轮廓,可将
shape.Line.Visible设为MsoTriState.msoFalse隐藏轮廓。
内容的提问来源于stack exchange,提问作者Aim
相关产品推荐
相关产品推荐

