我需要将图像放在桌子的中心。 当我在单元格中添加图像时,图像被对齐。 如何将图像对齐在单元格的中心?
答案 0 :(得分:13)
您可能需要在单元格中添加一个段落,在段落上设置对齐方式,然后将图像添加到段落中。
row.Cells[0].Format.Alignment = ParagraphAlignment.Center;
row.Cells[0].VerticalAlignment = VerticalAlignment.Center;
row.Cells[0].AddParagraph().AddImage(imageLocation);
答案 1 :(得分:4)
row.Cells[0].Format.Alignment = ParagraphAlignment.Center;
row.Cells[0].VerticalAlignment = VerticalAlignment.Center;
答案 2 :(得分:-1)
在我的MigraDoc版本中,Jeff和Reuben的解决方案无法按以下方式工作:设置单元格的Format.Alignment
属性无效,即使图像位于段落中也是如此。
但是,对有用的是将图像放在一个段落中,就像Jeff和Reuben所说的那样,然后为该段落命名为 的样式,其中包括居中
在预定义所有样式的方法中,我执行以下操作:
// Here we assume the "TableText" style has already been created
var sty = doc.Styles.AddStyle( "TableTextCenter", "TableText" );
sty.ParagraphFormat.Alignment = ParagraphAlignment.Center;
在添加图像的那一刻,我这样做:
var para = table.Cells[ 0 ].AddParagraph();
para.Style = "TableTextCenter"; // <----- This is the magic!
var img = para.AddImage( imageFileSpec );
img.LockAspectRatio = true;
img.Width = "4cm";
img.WrapFormat = new WrapFormat {
Style = WrapStyle.Through
};
答案 3 :(得分:-1)
正如@Reuben所说的,有趣的是:
row.Cells[0].AddParagraph().AddImage(imageLocation);
我正在尝试
row.Cells[0].AddImage(imageLocation);
图像已插入文档中,但我无法将其居中。