Windows CE 2.10智能手机Windows CE .NET 4.1Windows CE .NET 4.2Windows CE 3.0Windows CE .NET 4.0Windows CE 2.11智能手表Windows Mobile 2003Pocket PC 2002Windows XP Tablet Ed.Portable .NET嵌入式GDICEOWindows MobileGDI+Visual Studio .NET 2002Windows Vista.NET 1.0Visual Studio .NET 2003Windows 2003.NET 1.1.NET 3.0Visual Studio 2005Windows 2000架构师Windows XP.NET 2.0Windows Forms移动应用C# 2.0C# 3.0中级开发Visual StudioWindows.NETVisual BasicC#
通过调用 API 在 dotNet 中创建具有 alpha 混合 PNG 图像的动画






3.87/5 (94投票s)
2005年10月19日

108534

7409
本文展示了具有alpha混合功能的PNG图像在创建动画方面的优势,并通过调用API演示了如何在.NET Framework应用程序中使用PNG图像。
引言
许多编码员(包括我以前)都放弃了处理PNG,因为让PNG背景图像平滑工作并不容易。然而,PNG是一种非常好的图像格式,它允许你使用带有alpha混合功能的透明度。本文将向您展示如何使PNG正常工作以及在创建动画时使用它的优势。
内部秘密
clsTungPngAnimation
继承自抽象类clsTungAnimation
,因为我们打算在clsTungPngAnimation
和clsTungBmpAnimation
中拥有许多相同的函数。所有这些类都可以在clsTungAnimation.cs中找到。
frmAnimation.cs(用于PNG)和frmBmpAnimation.cs(用于BMP)是图片帧将出现的地方。如果我们使用PNG,则必须使用此函数来使窗体透明,但仍能保留PNG图片的alpha混合效果。
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00080000; //WS_EX_LAYERED
return cp;
}
}
(此函数位于frmAnimation.cs内部)
clsBitmapTransparent.cs用于为窗体创建PNG透明背景。
clsBitmapRegion.cs用于通过加载BMP图像为窗体创建区域,以便图像可以显示为透明。