首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在ClosedXML中的合并单元格范围内对图像进行中心化

如何在ClosedXML中的合并单元格范围内对图像进行中心化
EN

Stack Overflow用户
提问于 2018-12-03 06:00:42
回答 2查看 3.6K关注 0票数 2

我使用ClosedXML (https://github.com/ClosedXML/ClosedXML)在我的C# MVC控制器中创建excel文件。根据https://github.com/closedxml/closedxml/wiki/How-can-I-insert-an-image中的文档,我在单元格中插入了一个图像,并将该单元格与右边的side.My代码中的to单元合并如下:

用于添加图像

代码语言:javascript
运行
复制
var imagePath = @"c:\myFolder\image.jpg";
var image = MyWorkSheet.AddPicture(imagePath )                                               .MoveTo((MyWorkSheet.Cell(3,1).Address))                                               .Scale(0.2);
image.Width = 50;
image.Height = 50;

用于合并单元格

代码语言:javascript
运行
复制
 MyWorkSheet.Range(MyWorkSheet.Cell(3,1).Address, MyWorkSheet.Cell(3, 3).Address).Merge();

但图像位于细胞的左上角。我找不到任何网页来源,解释如何在单元格范围内的图像中心。任何人都请帮帮我。

EN

Stack Overflow用户

发布于 2019-02-22 18:53:41

你必须用偏移距移动你的图像。要做到这一点,你必须计算那个偏移量。以点(而不是像素)返回列宽。您必须将其转换为像素,以便与图像像素宽度进行比较。

所以你可以:

代码语言:javascript
运行
复制
int iColumnWidth = (MyWorkSheet.Column(1).Width - 1) * 7 + 12; // To convert column width in pixel unit.
int xOffset = (iColumnWidth - image.Width) / 2;
int yOffset = 0;
image.MoveTo(MyWorkSheet.Cell(3,1), New Point(xOffset, yOffset));
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53588258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档