在表格的顶部我做了:
private static float angleCopy;
private Bitmap bmpnew;
然后在构造函数中:
angleCopy = 0;
bmpnew = new Bitmap(512, 512);
然后在计时器滴答事件中,我将angleCopy指定给angleF _:
static float angleF_ = 0.0F;
private void timer1_Tick(object sender, EventArgs e)
{
if (angleF_ > 360F)
{
angleF_ -= 360F;
}
ReturnTexture(scannedCloudsTexture, cloudPoints, angleArray, angleF_,bmpnew);
DisplayOnScreen(angleF_);
angleF_ += vScrollBar1.Value;//1.0F;
angleCopy = angleF_;
}
然后在ReturnTexture方法中,我从方法底部的计时器tick事件中调用它:
if (angleCopy == 360)
{
bmpnew.Save(@"c:\temp\bmpnewtest.bmp");
}
我希望当它达到360以停止保存而不是停止计时器时。 问题是,angleCopy现在会低于360,并且会一直保存。
如何在360到达时停止保存?
答案 0 :(得分:1)
您需要一个名为stopSaveAngleCopy
的其他私有变量,默认设置为false
,当您的angleF_变量等于360时,仅设置为true
你的timer1_tick事件。
然后稍后在保存位图的地方,只要检查该变量是否为真
根据您是否需要在以后再次保存,您可以随时添加逻辑,将其重新设置为false
(我希望我能正确理解你的问题)