0
我正在使用控件繪畫事件在我的應用程序中繪製圖形對象。所有對象的大小以毫米爲單位存儲,因此我使用「毫米」作爲圖形對象的PageUnit。出於某種原因,當我繪製一個DashStyle而非實體的形狀時,它會以非常意想不到的比例繪製。以意想不到的比例繪製的虛線形狀
在下面的代碼示例中,我希望看到兩條線彼此重疊,但我得到的是紅色虛線在更大的範圍內繪製在其他地方。
任何想法我失蹤?
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
private Pen solidBlackPen = new Pen(Color.Black, 1);
private Pen dashedRedPen = new Pen(Color.Red, 1) {
DashStyle = DashStyle.Dash
};
private Point point1 = new Point(5, 5);
private Point point2 = new Point(35, 5);
public Form1()
{
InitializeComponent();
this.BackColor = Color.White;
this.Paint += new PaintEventHandler(Form1_Paint);
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
e.Graphics.DrawLine(solidBlackPen, point1, point2);
e.Graphics.DrawLine(dashedRedPen, point1, point2);
}
}
}
因爲我是新的我不能上傳截圖。
必須有更多的比什麼是你的問題用的,因爲如果我執行代碼張貼的問題線被繪製在另一個之上。 – pdriegen
我想你是對的。我試圖在不同的機器上運行同一個可執行文件,並且在其中一些機器上我得到了我期待的結果。謝天謝地,我設法找到了這個問題的解決方案,但我仍然不知道是什麼原因造成的。我只是在別人遇到這個問題時發佈一個答案。 – gaz54