2017-05-05 54 views
0

帶有照片的AR報告,但保存爲PDF時會變形。帶有照片的c#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

我能弄明白。我只是先爲圖像前面的每一列放置一個容器。所以圖像將位於容器的頂部。將圖像的屬性大小設置爲FitProportional。請注意,將尺寸設置爲「Fitproportional」將已使尺寸保持一致,但它會偏斜,因爲它將遵循最可能是矩形的列尺寸,因此需要容器。

相關問題