本教程展示了如何创建一个Windows C/ c++ API应用程序,该应用程序使用LEADTOOLS图像处理类将透明区域的图像合并到背景图像之上。
概述 | |
---|---|
总结 | 本教程将介绍如何在Windows C DLL应用程序中使用透明度组合两个图像。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(246kb) |
平台 | Windows C DLL应用程序 |
IDE | Visual Studio 2019 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
步骤,熟悉创建项目和加载/显示图像的基本步骤添加引用和设置License而且加载、显示和保存图像教程,在工作之前结合图像透明度- Windows C DLL教程。
中创建的项目的副本开始添加引用和设置License教程。如果项目不可用,请按照该教程中的步骤创建它。
打开预编译的头文件(或pch.h
或stdafx.h
,取决于所使用的Visual Studio版本),并确保添加了以下行。
#定义LTV22_CONFIG
# include“C: \ LEADTOOLS22 \ \ L_Bitmap.h包括”//使用实际安装LEADTOOLS的路径
#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltkrn_x.lib”)
#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltdis_x.lib”)//需要区域处理
#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltfil_x.lib”)//文件加载和保存
请注意
有关特定应用程序功能所需的dll的完整列表,请参阅包含在应用程序中的文件- C API
许可证解锁项目所需的特性。它必须在调用任何工具箱功能之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License。
有两种类型的运行时许可证:
请注意
中更详细地介绍了添加LEADTOOLS引用和设置许可添加引用和设置License教程。
随着项目的创建、引用的添加、许可证的设置和加载图像代码的添加,编码就可以开始了。
在解决方案资源管理器,双击资源文件(.rc)。
添加一个新的结合图片菜单项添加到文件下拉菜单,并将其移动到退出项。将新菜单项的ID保留为ID_FILE_COMBINEIMAGES
。
方法加载具有透明度的基本图像并使用L_FeatherAlphaBlendBitmap ()
函数将其与纯色背景图像结合。
打开项目的CPP文件并导航到指向
函数。下开关(wmId)
语句的下面WM_COMMAND
Case,添加一个新的Case和下面的代码。
开关(wmId)
{
情况下ID_FILE_COMBINEIMAGES:
{
L_TCHAR szFileWithAlpha[] = L_TEXT(“imagePlusAlpha.png”);
FILEINFO info = {0};//必须用0初始化struct
L_FileInfo (szFileWithAlpha,信息,运算符信息,0,NULL);
如果(信息。标志和FILEINFO_HAS_ALPHA)
{
bmpCombined = {0};
L_CreateBitmap (&bmpCombined运算符bmpCombined, TYPE_CONV, info。宽度、信息。高度,24,ORDER_BGR, NULL,信息。ViewPerspective, NULL, 0);
L_FillBitmap(&bmpCombined, RGB(102, 148, 237));
bmpWithAlpha = {0};
L_LoadBitmap (szFileWithAlpha &bmpWithAlpha,运算符Bitmaphandle, 32, order_bgr, null, null);
BITMAPHANDLE bmpMask = {0};
L_GetBitmapAlpha (&bmpWithAlpha &bmpMask,运算符BITMAPHANDLE);
L_FeatherAlphaBlendBitmap(&bmpCombined, 0,0, BITMAPWIDTH(&bmpWithAlpha), BITMAPHEIGHT(&bmpWithAlpha), &bmpWithAlpha, 0,0, &bmpMask, 0,0,0);
L_SaveBitmap ((L_TCHAR *) L_TEXT (“C: \ \ LEADTOOLS22 \ \ \ \ \ \图片资源combinedImages.jpg”), &bmpCombined, FILE_JPEG_411, 24,2, NULL);
L_FreeBitmap (&bmpCombined);
L_FreeBitmap (&bmpWithAlpha);
L_FreeBitmap (&bmpMask);
}
}
打破;
//保留其余的代码
按下运行项目F5,或选择Debug ->开始调试。
如果正确执行上述步骤,应用程序将运行并加载包含透明alpha通道的图像,然后将其与纯色背景图像结合。然后将结果保存到磁盘上的一个文件中。
注意:本教程使用的透明图像,imagePlusAlpha.png,可以从教程中代码的输出中获得,添加透明度的图像- Windows C DLL,它为样本图像增加了透明度。
本教程展示了如何使用各种LEADTOOLS函数将透明图像与纯色背景组合在一起。