我必須做在C#中耕作的應用程序。瓷磚將有一些形狀,我的應用程序應該能夠修改形狀。我將會有一些形狀 - 由頂點構成的多邊形。例如,我將有16個頂點的域,然後繪製多邊形。 我需要知道的是什麼如何使用拖放來移動頂點。我還必須重新計算其他頂點,以便將一個拼貼貼到下一個拼貼,但這只是一些數學。通過在C中移動頂點拖放Modyfiing多邊形形狀#
總結: 我有多邊形在頂點域中定義了16個頂點,我用一個頂點移動(用鼠標),重新計算頂點的座標並繪製新的多邊形。我的問題正在移動(可能使用拖動&下拉)與頂點域中的一個頂點。
這是我以前的代碼哪一部分沒有拖&下降 - 只是知道我在用繪製一個瓷磚用什麼工具:
private Bitmap canvasBitmap; //canvas for drawing
private Graphics g; // enter to graphics tool
Bitmap b = (Bitmap)Bitmap.FromFile("obr.bmp");
TextureBrush brush = new TextureBrush(b);
Pen pen = new Pen(Color.Black, 1);
hexaVertices[0] = new PointF(-40 + 40, 0 + 30);
hexaVertices[1] = new PointF(-20 + 40, 30 + 30);
hexaVertices[2] = new PointF(20 + 40, 30 + 30);
hexaVertices[3] = new PointF(40 + 40, 0 + 30);
hexaVertices[4] = new PointF(20 + 40, -30 + 30);
hexaVertices[5] = new PointF(-20 + 40, -30 + 30);
g.FillPolygon(brush, hexaVertices);
g.DrawPolygon(pen, hexaVertices);
THX的建議。
我認爲你需要確定哪個頂點點擊鼠標時(鼠標按下事件)。然後,您應該聽取Mouse Up事件並記錄座標。現在你知道哪個頂點被點擊了,最後的位置。 – daryal 2012-03-22 09:58:45