如何控制Excel的位图缩放

时间:2015-02-04 23:09:44

标签: c# excel bitmap

我有一个位图图像,我想把它放在excel中。我使用此代码找到了here

xlWorkSheet.Shapes.AddPicture("C:\\filesystem\\mb2.bmp", 
    msoFalse, msoCTrue, 0, 0, 518, 390);

但是生成的图像越来越宽1.333倍。好的,我可以将尺寸乘以0.75,然后在excel中获得具有所需尺寸的图像。

xlWorkSheet.Shapes.AddPicture("C:\\filesystem\\mb2.bmp", 
    msoFalse, msoCTrue, 0, 0, (float)(518*0.75), (float)(390*0.75));

但坐在那里的数字0.75硬编码真的让我感到烦恼。特别是因为我看过this question,其中op的比率是0.76。知道这个代码需要在具有不同显示的任意数量的系统上运行,我想知道如何以编程方式获得该比率。

this question有些关系,这与没有代码的复制粘贴有关。

1 个答案:

答案 0 :(得分:0)

如果您正在谈论打印,则显示无关紧要。

图像的尺寸需要相对于纸张尺寸。 AddPicture方法中的大小值以点为单位,仅与像素松散相关。点数是对您的打印机有意义的度量单位。应用程序会将点转换为像素,因此您无需担心这一点。

您可以使用InchesToPoints对象的CentimetersToPointsApplication方法将图片尺寸调整为纸张尺寸。