3
我正在嘗試製作一個蒙版生成器來爲圖像生成多邊形。這是我的代碼。在圖像上繪製邊框
Bitmap bmp = new Bitmap(file);
int w = bmp.Width;
int h = bmp.Height;
List<Point> vertices = new List<Point>();
for (int y=0; y<h; y++)
{
bool rowbegin = false;
for (int x=0; x<w; x++)
{
Color c = bmp.GetPixel(x, y);
if (!rowbegin)
{
// Check for a non alpha color
if (c.A != Color.Transparent.A)
{
rowbegin = true;
// This is the first point in the row
vertices.Add(new Point(x, y));
}
} else {
// Check for an alpha color
if (c.A == Color.Transparent.A)
{
// The previous pixel is the last point in the row
vertices.Add(new Point(x-1, y));
rowbegin = false;
}
}
}
}
// Convert to an array of points
Point[] polygon = vertices.ToArray();
Graphics g = Graphics.FromImage(bmp);
g.DrawPolygon(Pens.LawnGreen, polygon);
g.Dispose();
但我得到錯誤的輸出。
的需要。
我想什麼也是人物之間的空隙是空的。另外爲什麼DrawPolygon正在填充它?
謝謝。
是在一條精靈表這些圖像的所有3。 – 2013-04-07 01:47:56
是的。我只是想消除透明的空間。 – 2013-04-07 01:49:44
你想要什麼?你知道你可以用WPF中的1行XAML應用相同的效果嗎?你爲什麼使用winforms?它不支持圖形。 – 2013-04-07 02:54:01