繁体   English   中英

如何以毫米为单位绘制矩形

[英]How draw rectangle in millimeter

using (var mem = new MemoryStream())
using (var bmp = new Bitmap(85, 54))
using (var gfx = Graphics.FromImage((Image)bmp))
{
    // gfx.SmoothingMode = SmoothingMode.AntiAlias;
    gfx.PageUnit = GraphicsUnit.Millimeter;
    gfx.FillRectangle(Brushes.Red, new Rectangle(0, 0, bmp.Width, bmp.Height));

    //add question
    gfx.DrawString(captcha, new Font("Arial", 5), Brushes.Blue, bmp.Width / 2, bmp.Height/2);

    //render as Jpeg
    bmp.Save(mem, System.Drawing.Imaging.ImageFormat.Jpeg);
    img = this.File(mem.GetBuffer(), "image/Jpeg");
}

return img;

这行不通。 我需要85x54毫米

怎么办?

我需要抽奖才能打印

此位图的大小以像素为单位。

当您在常规显示器上显示位图时,单个像素将是1/96英寸。 其他显示器可能具有其他DPI( 每英寸点数 )-例如Retina显示器

大多数打印机至少支持300 DPI。

因此,您需要做的是获取屏幕打印机DPI并相应地调整位图的大小,或使用允许您指定DPI的图像格式(矢量?)。 某些位图格式还允许您指定预期的DPI

数字图像始终以像素为单位。 切勿以毫米或英寸为单位。 根据打印时使用的DPI(每英寸点数),像素将转换为毫米或英寸。

对于屏幕,请使用每英寸72像素,对于打印请使用300。

对于您的图片(85x54mm = 3.34x2.12in),请使用(3.34 * 300)x(2.12 * 300)= 1002 x 637像素进行打印。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM