在windows应用程序中显示A4大小的图像

本文关键字:图像 A4 显示 windows 应用程序 | 更新日期: 2023-09-27 18:27:03

我正在做一个项目,因为我必须向用户显示图像。实际上,图像是动态创建的位图图像(A4大小的页面,必须打印到A4页面),有时它有多个页面,我必须给用户预览。那么,在没有第三方应用程序的情况下,我如何在windows应用程序中做到这一点呢?或者有什么比这更好的解决方案吗。但我必须创建这个位图图像才能在所有情况下创建该页面。

在windows应用程序中显示A4大小的图像

A4是纸张大小为210×297毫米。

位图是以各种方式创建的,但它们总是以某种方式需要像素大小,例如。210×297像素。

要创建A4位图,还需要决定分辨率,例如100dpi或800dpi。。

float mmpi = 25.4f;
int dpi = 150;
Bitmap A4 = new Bitmap( (int) (210/mmpi*dpi), (int)(297/mmpi*dpi) );
A4.SetResolution(dpi, dpi);

这将产生具有150dpi的1240.1 x 1753.9像素的位图;你可以直接这样得到:

Bitmap A4 = new Bitmap(1240, 1754)
A4.SetResolution(dpi, dpi);

要预览Bitmap,只需将其分配给PictureBox控件的Image即可:

pictureBox1.SizeMode = pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox1.Image = A4;

注:

  • 当你试图创建一个太棒的位图时,你会遇到内存问题。即使达到200dpi也会引发异常
  • 您可能希望通过去掉边距来减小物理大小
  • 打印位图时需要考虑的事项有很多
  • 很可能你一次无法创造出一个以上这样大的形象。在创建第二个之前,您可能需要将一个存储到磁盘中
  • 上述代码将生成适合打印的图像。显然,这太大了,无法在预览中显示。为此,您必须缩小它的比例,或者为显示器大小创建另一个,可能是280x351像素。这可能是更好的选择。无论如何,显示控件和打印文档都将有一个"绘制"事件