炫彩气泡--win32实现透明不规则窗口


模拟实现Windows的气泡屏保,利用win32 API实现透明气泡效果,气泡效果没有Windows的美观,但是也足够好看。
资源截图
代码片段和文件信息
#include “CBubble.h“
#include 
#include 

int GetEncoderClsid(const WCHAR* format CLSID* pClsid);

CBubble::CBubble(const Point&pt Color& color int radius) :m_x(pt.X) m_y(pt.Y)
m_vx((rand() % 10 - 5)/2)
m_vy((rand() % 10 - 5)/2)
m_radius(radius) m_color(color)
{
}


CBubble::~CBubble()
{
}

void CBubble::paint(HDC hdc)
{
Bitmap bmp(2*m_radius 2*m_radius PixelFormat32bppARGB);
Graphics g(&bmp);
g.Clear(Color(0 0 0 0));
g.SetSmoothingMode(SmoothingModeAntiAlias);
GraphicsPath path;
path.AddEllipse(0 0 2*m_radius 2*m_radius);
PathGradientBrush PGBrush(&path);
PGBrush.SetCenterColor(Color(200 255 255 255));
Color colors[] = {m_color};
int count = 1;
PGBrush.SetSurroundColors(colors &count);
PGBrush.SetCenterPoint(Point(m_radius m_radius));
g.FillEllipse(&PGBrush 0 0 2*m_radius 2*m_radius);
g.DrawEllipse(&Pen(m_color) 0 0 2*m_radius 2*m_radius);
//g.FillRectangle(&PGBrush 0 0 200 200);

Graphics graph(hdc);
graph.TranslateTransform(m_x m_y);
graph.SetSmoothingMode(SmoothingModeAntiAlias);
graph.DrawImage(&bmp 0 0);

//CLSID pngClsid;
//GetEncoderClsid(L“image/png“ &pngClsid);
//bmp.Save(L“Mosaic2.png“ &pngClsid NULL);


//Graphics graph(hdc);
//graph.SetSmoothingMode(SmoothingModeAntiAlias);
//for (int i = 0; i < 200; i++)
//{
// float x = 100;
// float y = 100;
// float R = i;
// RectF rect(x-R y-R 2*R 2*R);
// graph.DrawEllipse(&Pen(Color(255 200 200 100)) rect);
//}
//graph.DrawImage(&bmp 0 0);

//Graphics graph(hdc);
//graph.SetSmoothingMode(SmoothingModeHighQuality);
//Bitmap bmp(L“Mosaic2.png“);
//graph.DrawImage(&bmp 0 0);


//Graphics graph(hdc);
//graph.Clear(Color(0 0 0 0));
//graph.SetSmoothingMode(SmoothingModeAntiAlias);
//LinearGradientBrush lBrush(Point(100 100) Point(200 200) Color(200 200 100100) Color(0 200 100100));
////graph.FillEllipse(&lBrush Rect(100 100 200 200));

//Graphics graphics(hdc);
//graphics.Clear(Color(0 255 255 255));
//GraphicsPath path;
//path.AddEllipse(0 0 200 200);
//PathGradientBrush PGBrush(&path);
//PGBrush.SetCenterColor(Color(255 255 2 255));
//Color colors[] = { Color(255 255 2 255) };
//int count = 1;
//PGBrush.SetSurroundColors(colors &count);
//PGBrush.SetCenterPoint(Point(100 100));
//graphics.FillRectangle(&PGBrush 0 0 200 200);

//SolidBrush brush(Color(10 200 200 250));
//graphics.TranslateTransform(100 100);
//graphics.FillRectangle(&brush 10 200 200 200);

}

int GetEncoderClsid(const WCHAR* format CLSID* pClsid)
{
UINT  num = 0;          // number of image encoders
UINT  size = 0;         // size of the image encoder array in bytes
ImageCodecInfo* pImageCodecInfo = NULL;
GetImageEncodersSize(&num &size);
if (size == 0)
return -1;  // Failure
pImageCodecInfo = (ImageCodecInfo*)(mal

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件         47  2018-09-10 09:31  炫彩气泡.gitCOMMITMESSAGE

     文件         46  2018-09-10 09:31  炫彩气泡.gitCOMMIT_EDITMSG

     文件        130  2018-09-10 09:30  炫彩气泡.gitconfig

     文件         73  2018-09-10 09:30  炫彩气泡.gitdescription

     文件         23  2018-09-10 09:30  炫彩气泡.gitHEAD

     文件        478  2018-09-10 09:30  炫彩气泡.githooksapplypatch-msg.sample

     文件        896  2018-09-10 09:30  炫彩气泡.githookscommit-msg.sample

     文件       3327  2018-09-10 09:30  炫彩气泡.githooksfsmonitor-watchman.sample

     文件        189  2018-09-10 09:30  炫彩气泡.githookspost-update.sample

     文件        424  2018-09-10 09:30  炫彩气泡.githookspre-applypatch.sample

     文件       1642  2018-09-10 09:30  炫彩气泡.githookspre-commit.sample

     文件       1348  2018-09-10 09:30  炫彩气泡.githookspre-push.sample

     文件       4898  2018-09-10 09:30  炫彩气泡.githookspre-rebase.sample

     文件        544  2018-09-10 09:30  炫彩气泡.githookspre-receive.sample

     文件       1492  2018-09-10 09:30  炫彩气泡.githooksprepare-commit-msg.sample

     文件       3610  2018-09-10 09:30  炫彩气泡.githooksupdate.sample

     文件       4832  2018-09-10 09:31  炫彩气泡.gitindex

     文件        240  2018-09-10 09:30  炫彩气泡.gitinfoexclude

     文件        175  2018-09-10 09:31  炫彩气泡.gitlogsHEAD

     文件        175  2018-09-10 09:31  炫彩气泡.gitlogs
efsheadsmaster

     文件        186  2018-09-10 09:31  炫彩气泡.gitobjects53f34c916daeafca163bed591d6838e398563ec

     文件        668  2018-09-10 09:31  炫彩气泡.gitobjectsf7612848f138273cc5ceddb229e882100f220ae

     文件        683  2018-09-10 09:31  炫彩气泡.gitobjects11d5bfbeeda9bfb0943749aa8be6676654728cae

     文件     240661  2018-09-10 09:31  炫彩气泡.gitobjects3143d87c2532ebfdabc993e24a9f1f79b7328110

     文件        386  2018-09-10 09:31  炫彩气泡.gitobjects31eaa89e041bc2a5b5738636497400e4061b7b13

     文件        102  2018-09-10 09:31  炫彩气泡.gitobjects37103345c5e4b4dc5ca216d1e582bc3287480bf3

     文件       1422  2018-09-10 09:31  炫彩气泡.gitobjects498c8b8f846377d1c626b65bdcc4c7610244d986

     文件        366  2018-09-10 09:31  炫彩气泡.gitobjects4d3133535592d424b8627078ff08b5fcd555469f

     文件       7329  2018-09-10 09:30  炫彩气泡.gitobjects507efca726288fb878a0710fe2f9df34f8a6012a

     文件        413  2018-09-10 09:30  炫彩气泡.gitobjects5347629c902379ad4bfd38d52eb1deaa125f7994

............此处省略158个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)