画100个普通僵尸(在桌面上画个僵尸总共分几步)
昨天小编在头条发布了一个视频哎呀,我电脑中了超严重的“僵尸病毒”咋办,很多朋友给了比较积极的回应。有的同学还把我称作大神,请我指教。其实我真不是什么“大神”,我所知道的都是些皮毛。只是用些小技巧博君一笑,难登大雅之堂。
当然有朋友问我怎么做,我也不会藏拙。在这大致给大家介绍一下,只是说下大体的思路和要使用的技术,不会介绍的特别详细。大家做的时候再去百度搜索,因为不是自己查资料慢慢理解来的技术始终成不了自己的(下面介绍使用的是C#)。
视频的效果
第一步、绘制动画图像
僵尸素材
第二步、画在哪
在视频中动画都是画在桌面上的,其实不然。图片还是被画在了一个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。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com