Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反转(负片)表格C的所有颜色#_C#_Colors - Fatal编程技术网

C# 反转(负片)表格C的所有颜色#

C# 反转(负片)表格C的所有颜色#,c#,colors,C#,Colors,我有一个GUI应用程序,它有很多颜色,比如绿色、红色、白色、棕色——所有这些都在黑色背景上 我想在此应用程序中添加一个屏幕截图按钮。我对它进行了编码(它工作得很好),但我必须给用户一个关于截图的视觉指示(不是通过任何消息框) 我能想到的最好的方法之一是将所有颜色反转片刻,然后恢复正常(就像AdobeReader中的快照) 有人能帮我吗 或者你认为屏幕截图可以被确认的任何其他想法 或者你能告诉我如何“重新粉刷”整个窗户吗 我需要一个线索来开始我的探索( 提前谢谢 更新:作为临时解决方案,即使在“捕

我有一个GUI应用程序,它有很多颜色,比如绿色、红色、白色、棕色——所有这些都在黑色背景上

我想在此应用程序中添加一个屏幕截图按钮。我对它进行了编码(它工作得很好),但我必须给用户一个关于截图的视觉指示(不是通过任何消息框)

我能想到的最好的方法之一是将所有颜色反转片刻,然后恢复正常(就像AdobeReader中的快照)

有人能帮我吗

或者你认为屏幕截图可以被确认的任何其他想法

或者你能告诉我如何“重新粉刷”整个窗户吗

我需要一个线索来开始我的探索(

提前谢谢

更新:作为临时解决方案,即使在“捕获”按钮上,我也这样做了:-

   this.BackColor = Color.White;  // My Original BackColor is Black
   Update();
   Refresh();
   Thread.Sleep(250);  // I don't want responsive UI... It's like Still Picture frame. :)
   this.BackColor = Color.Black;  // Back to Normal
   Update();
   Refresh();

我在我的项目中也有类似的任务,但我想在连接丢失时使我的应用程序GUI变成灰色。 我建议您采取三个步骤:

  • 拍摄应用程序的屏幕截图
  • 倒过来
  • 在您的窗口上以透明的音量控制器形式显示此屏幕截图
  • 每个步骤的一些操作指南:

  • 截图(应该放在主窗口内的代码):

  • 变换图像(此处是转换为灰度):

  • 您可以在此处找到优秀的表单推子:。现在,如果您创建一个名为SplashForm的派生表单(来自FormFader),您可以执行以下操作:

    SplashForm sp = new SplashForm();
    sp.BackgroundImage = BogusBackground;
    sp.BackgroundImageLayout = ImageLayout.Stretch;
    sp.FadeOnLoad = false;
    sp.FadeOnClose = true;
    sp.FadeOpacity = 1;
    sp.Location = this.Location;
    sp.Height = this.Height;
    sp.Width = this.Width;
    sp.StartPosition = FormStartPosition.Manual;
    sp.Show();
    sp.Close();
    

  • 我在我的项目中也有类似的任务,但我想在连接丢失时使我的应用程序GUI变成灰色。 我建议您采取三个步骤:

  • 拍摄应用程序的屏幕截图
  • 倒过来
  • 在您的窗口上以透明的音量控制器形式显示此屏幕截图
  • 每个步骤的一些操作指南:

  • 截图(应该放在主窗口内的代码):

  • 变换图像(此处是转换为灰度):

  • 您可以在此处找到优秀的表单推子:。现在,如果您创建一个名为SplashForm的派生表单(来自FormFader),您可以执行以下操作:

    SplashForm sp = new SplashForm();
    sp.BackgroundImage = BogusBackground;
    sp.BackgroundImageLayout = ImageLayout.Stretch;
    sp.FadeOnLoad = false;
    sp.FadeOnClose = true;
    sp.FadeOpacity = 1;
    sp.Location = this.Location;
    sp.Height = this.Height;
    sp.Width = this.Width;
    sp.StartPosition = FormStartPosition.Manual;
    sp.Show();
    sp.Close();
    

  • 总是可以像照相机闪光灯(和iPhone)一样将屏幕刷成白色并淡出画面@Ben如何在C中做到这一点是个问题,伙计!!我不知道如何在C中“重新绘制”窗口#要做到Ben的想法创建一个空表单(BorderStyle=无,WindowsState=最大化,不透明度=50%,BackColor=白色)。然后你可以简单地显示它,然后隐藏它。可以始终将屏幕闪烁为白色,然后淡入画面,就像照相机闪光灯(和iPhone)@Ben在C中如何做到这一点?是个问题,伙计!!我不知道如何在C中“重新绘制”窗口?要做到这一点,请创建一个空表单(BorderStyle=None,WindowsState=Maximized,Opacity=50%,BackColor=White)。然后您可以简单地显示它,然后隐藏它。
    SplashForm sp = new SplashForm();
    sp.BackgroundImage = BogusBackground;
    sp.BackgroundImageLayout = ImageLayout.Stretch;
    sp.FadeOnLoad = false;
    sp.FadeOnClose = true;
    sp.FadeOpacity = 1;
    sp.Location = this.Location;
    sp.Height = this.Height;
    sp.Width = this.Width;
    sp.StartPosition = FormStartPosition.Manual;
    sp.Show();
    sp.Close();