2011-04-21 223 views
1

我有,我想提请使用它们的形状在二维空间(P1,P2,P3,P4)点,但也想填补这个形状的图像文件(PNG)内。我不会有任何边框,只是图像本身完全填充了形状的尺寸。可以用形状填充图像的4个点绘制形状吗?

我会画出形状的1000次,第二所以任何速度更快会很酷,但自己的形状为50x50像素,所以不是很大。

任何想法?

+2

“我会画出形状的次第二1000” - 你有什么样的用户?他们不可能是人类。 – 2011-04-22 07:54:05

+0

你很有趣Henk:O但是这就像是一个有趣的游戏一样,只是在2D空间中移动形状,所以我必须快速绘制它们。实际上,它可能低于1000,我只是近似它:O – 2011-04-22 23:09:35

+0

@JoanVenge Henk的观点是游戏/应用程序通常不会在经常接近的地方更新图形。每秒60帧通常被认为是足够的,每秒120帧被认为是非常好的。无论如何,大多数显示器甚至不会支持更新。 – Beska 2013-02-20 16:53:28

回答

3

您可以使用ImageBrush填写任何矩形,它使用您的观点。您只需将Rectangle.Fill属性设置为您的画笔。

此讨论更here

+0

感谢CodeNaked,但这是一个真正的矩形权?矿山更像是四边形的多边形,所以并不是所有边的长度都相等。有没有这样一种形状,我可以挤压一张图像,比如将图像指向4点,如果需要的话可以拉伸。 – 2011-04-22 21:50:10

+0

@Joan - 对不起,错过了。你提到了“for”点,但只列出了两个:-)刷子也可以用于任何Polygon,但是你将无法轻松地扭曲/拉伸/转换图像以适应它(即,将左上角角落匹配你左上角的点和左下角的左下角等)。如果这就是你的意思。 – CodeNaked 2011-04-25 11:26:41

+0

Np,你是对的。我一定在想别的,现在我编辑了这个问题。所以是4分,并希望我可以歪斜/拉伸它,使图像适合多边形,但不像一个切口/面具。喜欢这个:http://droptutorial.com/wp-content/uploads/2009/09/2465.jpg虽然不喜欢它在另一架飞机上,所以它总是会映射到屏幕上,而不是使用另一架飞机,如果这是有道理的。 – 2011-04-26 04:17:51

0

你能在打好会阻止你的形状以外的所有区域的图像口罩?我假设你并不是要用图像来平铺形状。

+0

否图像必须缩放以适应这4个点所定义的多边形形状。但我明白你的意思,所以没有平铺。 – 2011-04-21 23:58:10