How can I make an image used on multiple Excel spreadsheets always display at its full size?

I am using the following code to place an image on a spreadsheet:

var ms = new MemoryStream();
Image _logo = RoboReporterConstsAndUtils.GetURLImage("http://www.proactusa.com/wp- content/themes/proact/images/pa_logo_notag.png");
_logo.Save(ms, ImageFormat.Png);
ms.Position = 0;
locationWorksheet.Pictures.Add(0, 4, ms);
AutoFitterOptions options = new AutoFitterOptions { OnlyAuto = true };
locationWorksheet.AutoFitRows(options);

It works fine; however, I use this same code on two different reports, and the image displays at different sizes. On one it has a height of 0.85" (63%) and a width of 1.1" (53%), while on the other it has a height of 1.44" (106%) and a width of 2.07" (100%).

Why would they differ in size? And why wouldn't they be 100% of the original image size?

The other code, which seems to be exactly the same (although in this case the column at which the image appears is dynamic), is:

var ms = new MemoryStream();
Image _logo = RoboReporterConstsAndUtils.GetURLImage("http://www.proactusa.com/wp- content/themes/proact/images/pa_logo_notag.png");
_logo.Save(ms, ImageFormat.Png);
ms.Position = 0;
pivotTableSheet.Pictures.Add(0, _grandTotalsColumnPivotTable - 1, ms);
AutoFitterOptions options = new AutoFitterOptions { OnlyAuto = true };
pivotTableSheet.AutoFitRows(options);

The image itself, at the location referenced, has a height of 1.35" and a width of 2.07"

The method called is:

internal static Image GetURLImage(string url)
{
WebClient wc = new WebClient();
byte[] bytes = wc.DownloadData(url);
MemoryStream ms = new MemoryStream(bytes);
return Image.FromStream(ms);
}

How can I get the image to always display at 100%?

Hi,


Thanks for your posting and using Aspose.Cells.

We were able to observe the issue but we need to investigate it further. Please see the detail reply in your other thread for a reference.