C#图像覆盖另一个图像

时间:2011-07-12 04:47:10

标签: c# winforms image

我有一个带有程序生成的固定大小图像(256x256)的图片框。我有另一个较小的图像作为资源。我想要做的是当我的光标在图像上并按住鼠标按钮时,较小的图像用鼠标指针“锚定”,以便它随之移动。如果我松开鼠标按钮,较小的图像将保留在较大图像顶部的那个位置。较小的图像基本上是一个标记,类似于X或O.

我想在第一个图片框的顶部有第二个图片框,但我不能让它透明。或者使用较小的图像重新绘制图像并将图像重新加载到图片框中,但我不知道该怎么做,我认为每次移动鼠标时重绘它都会非常慢。

那么我怎样才能让标记图像在更大的图像上移动并让它留在那里?

1 个答案:

答案 0 :(得分:2)

为此创建您的控件,而不是使用PictureBox。 PictureBox只能用于表单上的固定图像,没有别的。

相反,从UserControl派生您的控件。打开双缓冲。在OnPaint方法中,首先绘制背景图片,然后绘制标记图片。别担心,它不会很慢,它可以正常工作。

释放鼠标时,通过在其上绘制标记图片来更新背景图片。

由于这里的每个句子本身都是一个小发现,希望你能在编写你的小游戏时玩得很开心:)