我有一个位图图像,我想把它放在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有些关系,这与没有代码的复制粘贴有关。
答案 0 :(得分:0)
如果您正在谈论打印,则显示无关紧要。
图像的尺寸需要相对于纸张尺寸。 AddPicture
方法中的大小值以点为单位,仅与像素松散相关。点数是对您的打印机有意义的度量单位。应用程序会将点转换为像素,因此您无需担心这一点。
您可以使用InchesToPoints
对象的CentimetersToPoints
或Application
方法将图片尺寸调整为纸张尺寸。