首页 > 百科知识 正文

在桌面上画个僵尸总共分几步,画100个普通僵尸

时间:2024-05-06 11:00:01 阅读:797 作者:夜空虚

昨天小编在头条发布了一个视频哎呀,我电脑中了超严重的“僵尸病毒”咋办,很多朋友给了比较积极的回应。有的同学还把我称作大神,请我指教。其实我真不是什么“大神”,我所知道的都是些皮毛。只是用些小技巧博君一笑,难登大雅之堂。

当然有朋友问我怎么做,我也不会藏拙。在这大致给大家介绍一下,只是说下大体的思路和要使用的技术,不会介绍的特别详细。大家做的时候再去百度搜索,因为不是自己查资料慢慢理解来的技术始终成不了自己的(下面介绍使用的是C#)。

在桌面上画个僵尸总共分几步,画100个普通僵尸-第1张

视频的效果

第一步、绘制动画图像

僵尸素材

第二步、画在哪

在视频中动画都是画在桌面上的,其实不然。图片还是被画在了一个C#的桌面窗体上,只是把窗体的背景和边框都隐藏或者去掉了,让窗体背景透明化是程序员们经常会用的一种欺骗眼睛的方式。再多给大家科普一个透明化方式,先把背景截图,然后绘制截图,再在之上绘制其他图片也能达到透明的效果。来,你们要的手机版撩妹程序,我在这个视频中就是使用这个技巧制作出在手机桌面上画心的效果。

那怎么让c#的窗体透明呢?只要在窗体的加载函数中添加下面代码;

this.BackColor = Color.White;

this.TransparencyKey = Color.White;//前两行使背景透明

FormBorderStyle = FormBorderStyle.None;//去掉窗体边框

this.ShowInTaskbar = false;//让程序在任务栏隐藏

但是最后画出动画的效果不好,每次更新的时候老是闪屏,下面是我搜索到的解决方案。

SetStyle(ControlStyles.UserPaint, true);

SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.

SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲

以上是采用在窗体上绘画然后让窗体透明的方式,当然也可以直接在桌面上画图。

IntPtr P = FindWindow("Progman", "Program Manager");

P = FindWindowEx(P, IntPtr.Zero, "SHELLDLL_DefView", null);

P = FindWindowEx(P, IntPtr.Zero, "SysListView32", null);

Graphics G = Graphics.FromHwnd(P);

G就是桌面窗口的绘图对象,直接用它画图就行了。这种方式我也使用过,但是最终效果不如第一种所以放弃了,大家可自行尝试。

第三步、移动图标

视频中可以看到,图标作为僵尸的头也跟着僵尸移动。怎么移动请参照我另一篇教程这些图标我可以玩一年,教程科普图标新玩法。

好了,学会了上面的三步(其实只用前两步)你就可以在桌面上画动画了。画动画只是初级,如果你想实现桌面助手、桌面宠物、桌面歌词功能也可以试着去做。方法是死的,人的想象力是无限的。还有小编觉得编程最好的学习方式就是自己去搜索,去实践,这样才能在最短的时间内得到最快的进步。

如果大家有什么想法想和我交流,请关注我的头条号或者新浪微博 6liwe9。

版权声明:该问答观点仅代表作者本人。如有侵犯您版权权利请告知 cpumjj@hotmail.com,我们将尽快删除相关内容。