C+中的屏幕保护程序+;图像衰减 我如何在C++中制作一个屏幕保护程序,在屏幕上随机的地方,在淡入淡出的情况下,将图像淡入淡出,

C+中的屏幕保护程序+;图像衰减 我如何在C++中制作一个屏幕保护程序,在屏幕上随机的地方,在淡入淡出的情况下,将图像淡入淡出,,c++,windows,windows-xp,fade,screensaver,C++,Windows,Windows Xp,Fade,Screensaver,多监视器支持将是了不起的 如果你有一个工作代码或知道我在哪里可以得到它,这将是伟大的。否则给我指出正确的方向。我正在寻找一种方法,有一个平滑的,而不是滞后和闪烁的褪色。屏幕保护程序适用于Windows XP 我不知道C++,但我知道AS3、JavaScript和PHP。所以我希望把一些知识与C++联系起来。 我应该用什么来编译它? < p>我会看微软C++快件。它是免费的,而且很有能力。为了生成非托管可执行文件,您可能需要对其进行黑客攻击,或者获取旧版本 剩下的人有很多选择 “我不知道C++,但

多监视器支持将是了不起的

如果你有一个工作代码或知道我在哪里可以得到它,这将是伟大的。否则给我指出正确的方向。我正在寻找一种方法,有一个平滑的,而不是滞后和闪烁的褪色。屏幕保护程序适用于Windows XP

我不知道C++,但我知道AS3、JavaScript和PHP。所以我希望把一些知识与C++联系起来。


<>我应该用什么来编译它?

< p>我会看微软C++快件。它是免费的,而且很有能力。为了生成非托管可执行文件,您可能需要对其进行黑客攻击,或者获取旧版本

剩下的人有很多选择

“我不知道C++,但我知道AS3、JavaScript和PHP。所以我希望把一些知识与C++联系起来。” 哦,孩子,我想你会感到惊讶的。要学习C++,请执行以下操作:

  • 至少买一两本好书(参见)。不要买不太好的书。他们会教给你一些习惯,你以后为了取得更大的进步就必须改掉这些习惯
  • 除了大量的实际代码编写外,还要进行大量的阅读。在最初的几周,编译器会向你吐出大量难以理解的错误信息,你的代码将不断崩溃,经验丰富的C++程序员看着你的代码会厌恶地举起手来。这总是你的错
  • 计划大量的时间来学习。我的意思是很多。无论你花了多少时间,从“哑巴”升级到“新手”至少需要几个月的时间
  • 想象一下,为了成为一名真正的专业人士,你必须花上几年的时间来努力,不断地阅读书籍和文章,花大量的时间在新闻组和论坛上,向他人学习,把头撞在办公桌周围的每一面墙上 即使在C++编程十年后,每周至少要学习一些你以前不知道的东西。李>
  • 就一会儿,想象一下我可能不会夸大这一点
编辑澄清:我对亨特·戴维斯和《元素》的答案都投了赞成票,因为他们都很好,非常中肯,总的来说,尽管我在上面大喊大叫,但我还是支持他们的鼓励。事实上,我不怀疑很多人在C/C++中能够在一起给出一个框架例子,即使他们实际上不知道C++的很多东西。继续尝试吧,你很有可能在合理的时间内想出一个屏幕保护程序。但是能够“在C/C++中一起破解某些东西”远远不是“学会了C++”。(我的意思是非常远。)


C++是一个令人难以置信的复杂、卑鄙和顽固的野兽。我还认为它几乎是令人惊叹的美丽,但在这方面,它可能反映了从一个非常高的山:很难达到的点,你可以欣赏美。<首先,如果你开始C++,不要从Windows特定的编译器开始,比如VisualC++。抓取一个很好的跨平台IDE,它附带了eclipse或其他编译器。像任何项目一样,您将希望将其拆分为可以分阶段完成的较小任务。听起来你有几个障碍

缺乏C++知识(我们曾经在这里)
  • 缺乏图像知识(非常常见的疾病)
  • 缺乏经验(我们将对此进行研究)
  • 不要让别人使你气馁。你可以做到这一点,而且速度可能比你想象的要快。读一本或两本关于C++的书,你可以在不知道很多的情况下通过一个项目,但是你经常会感到沮丧。让我们将您的项目分解为一组小目标。当你完成每一个目标时,你对C++的信心就会提高。p>
  • 图像混合
  • 支持多显示器的Windows屏幕保护程序
  • 屏幕画布(directx、opengl、位图?)
  • 计时器
  • 首先,让我们看看图像混合的问题。我假设您希望将有问题的图像“淡入”到您激活的任何windows背景中。如果要使用纯色背景,只需在画布刷新之间更改相关图像的alpha透明度即可。基本上,您需要根据刷新计时器平均两幅图像中每个像素的颜色值。以更直接的方式查找任意结果像素(P3)的红色、绿色和蓝色像素元素

    N=每间隔的计时器滴答声(秒/毫秒/等)
    T=此间隔内发生的滴答声
    P1r=来自图像1的红色像素元素
    P2r=来自图像2的红色像素元素
    P3r=混合图像的合成红色像素元素
    P1g=来自图像1的绿色像素元素
    P2g=来自图像2的绿色像素元素
    P3g=混合图像的合成绿色像素元素
    P1b=来自图像1的蓝色像素元素
    P2b=来自图像2的蓝色像素元素
    P3b=混合图像的合成蓝色像素元素

    P3r = ((T/N * P1r) + ((N-T)/N * P2r))/2
    P3g = ((T/N * P1g) + ((N-T)/N * P2g))/2
    P3b = ((T/N * P1b) + ((N-T)/N * P2b))/2
    
    现在让我们看看windows屏幕保护程序和多显示器支持的问题。这实际上是两个不同的问题。Windows屏幕保护程序实际上只是带有特定回调函数的常规.exe编译文件。你可以在网上找到许多关于设置屏幕保护程序功能的教程。在设置屏幕画布时,多监视器支持实际上是一个值得关注的问题,我们将在下面讨论

    当我提到屏幕画布时,我指的是程序将输出可视数据的区域。所有图像渲染应用程序或教程基本上都会引用相同的概念。如果你觉得这特别有趣,请考虑一个研究生课程或计算机视觉学习课程。相信我,你不会后悔的。不管怎样,考虑到你的