当浮点变量达到360时,我如何停止保存位图数据

本文关键字:何停止 保存 位图 数据 浮点变量 360时 | 更新日期: 2023-09-27 18:25:54

在表格的顶部,我做了:

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方法中,我从方法底部的计时器滴答事件中调用它:

if (angleCopy == 360)
            {
                bmpnew.Save(@"c:'temp'bmpnewtest.bmp");
            }

我希望到360时停止储蓄,但不要停止计时器。问题是angleCopy现在将低于360,并且它将一直保存。

当它达到360时,我如何才能停止储蓄?

当浮点变量达到360时,我如何停止保存位图数据

您将需要一个额外的私有变量,名称类似于stopSaveAngleCopy,默认情况下设置为false,只有当您的angleF_变量等于360时,才会在timer1_tick事件中设置为true

稍后,在保存位图的位置,只需检查该变量是否为true
根据您是否需要在稍后阶段再次保存,您可以始终添加将其再次设置回false 的逻辑

(我希望我正确理解你的问题)