带有照片的AR报告,但在保存为PDF时会失真。
我有一份显示所有学生照片的报告。在Active Reports中作为报表预览之前一切正常,直到保存为止。保存的文件将成为pdf文件。 pdf将照片显示为扭曲和非均匀尺寸。我可以说它没有获得原始文件大小或尺寸(宽度和高度),因为当原始尺寸更大或更小时,有些显示所需的尺寸,所以我不确定它为什么是选择性的。有些是以所需的尺寸显示,有些则不是。
我尝试在将图像放入表格之前对其进行缩放,这样可以很好地显示图像并且均匀。但是如果保存到pdf中它会变得多么扭曲?知道如何抑制缩放吗?感谢
public static Image ScaleImage(Image image, int maxWidth, int maxHeight)
{
var ratioX = (double)maxWidth / image.Width;
var ratioY = (double)maxHeight / image.Height;
var ratio = Math.Min(ratioX, ratioY);
var newWidth = (int)(image.Width * ratio);
var newHeight = (int)(image.Height * ratio);
var newImage = new Bitmap(newWidth, newHeight);
using (var graphics = Graphics.FromImage(newImage))
graphics.DrawImage(image, 0, 0, newWidth, newHeight);
return newImage;
}
我在下面的函数liek代码中使用它
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image))
{
image = ScaleImage(image, 100, 100);
g.Clear(System.Drawing.Color.White);
System.Drawing.Pen pen = new System.Drawing.Pen(System.Drawing.Color.Black, 3);
pen.Alignment = System.Drawing.Drawing2D.PenAlignment.Inset;
g.DrawRectangle(pen, 0, 0, image.Width - 5, image.Height - 5);
g.DrawString(" No\r\nPhoto", new System.Drawing.Font("Arial", 12), System.Drawing.Brushes.Black, new System.Drawing.PointF(20, 30));
}
答案 0 :(得分:0)
我能够弄清楚。我只是在图像之前为每一列放置一个容器。因此图像将位于容器的顶部。将图像的属性大小设置为FitProportional。请注意,将大小设置为" Fitproportional"已经使尺寸变得均匀,但是它会偏斜,因为它将遵循很可能是矩形的柱尺寸,因此需要一个容器。