VC 图片上画透明图怎么现实
VC 图片上画透明图如何现实?
如图
这样的效果如何实现? 尤其是阴影部分。谢谢!
------解决方案--------------------
可以试试opencv的序列相关函数
------解决方案--------------------
alphablend gdi++
------解决方案--------------------
BOOL AlphaBlend(
HDC hdcDest, // handle to destination DC
int nXOriginDest, // x-coord of upper-left corner
int nYOriginDest, // y-coord of upper-left corner
int nWidthDest, // destination width
int nHeightDest, // destination height
HDC hdcSrc, // handle to source DC
int nXOriginSrc, // x-coord of upper-left corner
int nYOriginSrc, // y-coord of upper-left corner
int nWidthSrc, // source width
int nHeightSrc, // source height
BLENDFUNCTION blendFunction // alpha-blending function
);
GDI 就支持,不需要 GDI+
------解决方案--------------------
可以试试 不规则透明窗体。 那个元素(红色的那个东东)可能就是一个窗口。 然后设置他的透明属性。
呵呵! 试试吧!
------解决方案--------------------
那个不规则的窗口就是加载图的,并保存显示相关信息!
------解决方案--------------------
------解决方案--------------------
很专业
------解决方案--------------------
那就不要gdi绘图了.效率也不高. 用2d引擎或hge 或irr opengl/direct 3d
------解决方案--------------------
A lovely goldfish desktop pet (using alpha-PNG and GDI+)
http://www.codeproject.com/KB/GDI-plus/LovelyGoldFishDeskPet.aspx
------解决方案--------------------
透明最经典的实现就是要做一个和原图轮廓
------解决方案--------------------
学习学习
------解决方案--------------------
用GDI++,
支持颜色alpha(半透明的颜色), PNG半透明图片,图形绘制的半透明。
很方便,我用过。
------解决方案--------------------
------解决方案--------------------
inline COLORREF AlphaPixel(UINT alpha, COLORREF clr1, COLORREF clr2)
{
double k = (double)alpha / 256.0;
double reverse_k = 1.0 - k;
BYTE r = BYTE(GetRValue(clr2) * k + GetRValue(clr1) * reverse_k );
BYTE g = BYTE(GetGValue(clr2) * k + GetGValue(clr1) * reverse_k );
BYTE b = BYTE(GetBValue(clr2) * k + GetBValue(clr1) * reverse_k );
return RGB(r, g, b);
}
------解决方案--------------------
------解决方案--------------------
呵呵我来看看,我不知道如何解决,呵呵
------解决方案--------------------
如图
这样的效果如何实现? 尤其是阴影部分。谢谢!
------解决方案--------------------
可以试试opencv的序列相关函数
------解决方案--------------------
alphablend gdi++
------解决方案--------------------
BOOL AlphaBlend(
HDC hdcDest, // handle to destination DC
int nXOriginDest, // x-coord of upper-left corner
int nYOriginDest, // y-coord of upper-left corner
int nWidthDest, // destination width
int nHeightDest, // destination height
HDC hdcSrc, // handle to source DC
int nXOriginSrc, // x-coord of upper-left corner
int nYOriginSrc, // y-coord of upper-left corner
int nWidthSrc, // source width
int nHeightSrc, // source height
BLENDFUNCTION blendFunction // alpha-blending function
);
GDI 就支持,不需要 GDI+
------解决方案--------------------
可以试试 不规则透明窗体。 那个元素(红色的那个东东)可能就是一个窗口。 然后设置他的透明属性。
呵呵! 试试吧!
------解决方案--------------------
那个不规则的窗口就是加载图的,并保存显示相关信息!
------解决方案--------------------
------解决方案--------------------
很专业
------解决方案--------------------
那就不要gdi绘图了.效率也不高. 用2d引擎或hge 或irr opengl/direct 3d
------解决方案--------------------
A lovely goldfish desktop pet (using alpha-PNG and GDI+)
http://www.codeproject.com/KB/GDI-plus/LovelyGoldFishDeskPet.aspx
------解决方案--------------------
透明最经典的实现就是要做一个和原图轮廓
------解决方案--------------------
学习学习
------解决方案--------------------
用GDI++,
支持颜色alpha(半透明的颜色), PNG半透明图片,图形绘制的半透明。
很方便,我用过。
------解决方案--------------------
------解决方案--------------------
inline COLORREF AlphaPixel(UINT alpha, COLORREF clr1, COLORREF clr2)
{
double k = (double)alpha / 256.0;
double reverse_k = 1.0 - k;
BYTE r = BYTE(GetRValue(clr2) * k + GetRValue(clr1) * reverse_k );
BYTE g = BYTE(GetGValue(clr2) * k + GetGValue(clr1) * reverse_k );
BYTE b = BYTE(GetBValue(clr2) * k + GetBValue(clr1) * reverse_k );
return RGB(r, g, b);
}
------解决方案--------------------
------解决方案--------------------
呵呵我来看看,我不知道如何解决,呵呵
------解决方案--------------------