繁体   English   中英

移动trackBar1时,如何保持在图片盒1中的图像上绘制的点?

[英]How can i keep the points im drawing on the image in the picturebox1 when moving the trackBar1?

我正在使用trackBar1在硬盘上的图像之间移动,并在pictureBox1显示每个图像。

现在,我还可以在pictureBox1每个图像上绘制红色点。

我想做的是,如果我在pictureBox1显示的当前图像上绘制了一些点,那么我绘制的内容将被保存/保留在pictureBox1的当前显示图像上。

我的意思是,如果我绘制了一些东西,那么我将trackBar1向前移动一个刻度到下一张图像,这样这些点将不会显示在下一幅图像上,但是如果我将trackBar1向后移动一次,我将在另一幅图像上看到之前绘制的内容。 我不想将其作为文件保存到硬盘上,而是为了保持视觉效果而将我在pictureBox1绘制的图像保持在trackBar1现在所在的当前位置。

如果我将trackBar1移到另一个图像,则这些点将被删除,如果我后退,请看我在另一个图像上绘制的点。 等等。 我曾经在哪里画过东西来保存它,所以如果我生病了就去看看我画了什么。

现在,在我的程序中,我可以将每个图像保存到已绘制或未绘制的硬盘上。 这样我也可以从硬盘上加载我保存的图像。 但我想实时执行此操作,而无需从硬盘加载图像。 也许以某种方式将其保存到内存中?

您可以在透明图像中绘制点,该图像覆盖下面的图像,以便在滚动背景图像时保持覆盖。

这是因为您在图片框上绘制的内容没有存储在图片中。 它仅显示在屏幕上。 您必须在图片框的Paint事件处理程序中进行绘制。 每当需要重绘图片时,Paint事件都会自动引发。 请参阅msdn上的示例

我完全反对PictureBox-es,但是如果您坚持:

  • 适当时将图片加载到图片框
  • 我在图片上绘制了一些东西,将另一张图片保存在磁盘上,给它起一个像这样的名称:original-OVR.png。 我的意思是,在名称后加上-OVR。

有更多方法可以执行此操作,但我想您将可以继续使用此方法。 不用担心在硬盘上有双重图像...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM