为图像增加透明度——Python

本教程展示了如何创建并保存一个透明的区域图像应用两种不同的技术在Python应用程序使用LEADTOOLS SDK。

概述
总结 本教程介绍了如何添加图片在Python应用程序透明度。
完成时间 20分钟
Visual Studio项目 下载教程项目(2 KB)
平台 Python控制台应用程序
IDE Visual Studio 2022
运行时目标 Python 3.10或更高版本
开发许可 下载LEADTOOLS
试试用另一种语言

所需的知识

熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前为图像增加透明度——Python教程。

创建项目并添加LEADTOOLS引用

从项目中创建的副本添加引用和设置一个许可证教程。如果项目不可用,按照这个教程中的步骤创建它。

的引用需要取决于项目的目的。

本教程需要以下dll:

对于一个完整的列表的应用程序所需的DLL文件,请参考文件包含在您的应用程序

设置许可文件

许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可

有两种类型的运行时许可证:

添加代码以创建Alpha通道的透明度

与项目创建、添加引用,许可,可以开始编码。

开放Project-Name.py解决方案资源管理器和添加以下语句。

从pythonnet进口*进口clr导入系统#设置搜索路径LEADTOOLS dllsys.path.append(右“C: \ LEADTOOLS22 \ Bin \网”)clr.AddReference (“先”)clr.AddReference (“Leadtools”)clr.AddReference (“Leadtools.Codecs”)从系统。IO进口*从Leadtools进口*从Leadtools。编解码器进口*从Leadtools。ImageProcessing进口*

Project-Name.py文件添加一个新方法AddAlphaTransparency ()这需要一个图像集全白和近乎全地区是透明的通过操纵图像的alpha通道。

def AddAlphaTransparency (inputImage):#创建一个使用后8位图像Alpha通道α= inputImage.CreateAlphaImage ()# alpha通道填充白色导致所有像素是不透明的填补= FillCommand (RasterColor.White)fill.Run(α)#发现白色和近乎全输入图像的像素,并创建一个地区colorLow = RasterColor (245、245、245)colorHi = RasterColor.WhiteinputImage。AddColorRgbRangeToRegion (colorLow colorHi RasterRegionCombineMode.Set)#区域复制到α的形象α。SetRegion(没有inputImage.GetRegion(没有),RasterRegionCombineMode.Set)inputImage.MakeRegionEmpty ()#表示透明像素填充该地区为黑色填满。颜色= RasterColor.Blackfill.Run(α)outputImage = inputImage.Clone ()outputImage.SetAlphaImage(α)返回outputImage

将代码添加到一个特定的颜色设置为透明的

添加一个新方法AddTransparentColor ()这需要一个图像并将所有白色和近乎全区域转换成纯白色,然后是白色透明的。

def AddTransparentColor (inputImage):outputImage = inputImage.Clone ()#发现白色和近乎全输入图像的像素,并创建一个地区colorLow = RasterColor (245、245、245)colorHi = RasterColor.WhiteoutputImage。AddColorRgbRangeToRegion (colorLow colorHi RasterRegionCombineMode.Set)#填补该地区只有一个白色启用设置它作为一个独特的透明色填补= FillCommand (RasterColor.White)fill.Run (outputImage)outputImage。透明= TrueoutputImage。左下角= RasterColor.WhiteoutputImage.MakeRegionEmpty ()返回outputImage

将代码添加到负载与透明图像并将其保存

main ()方法,加载一个基础图像透明度添加到它并将其传递给上面创建的两个方法:

#将以下代码添加到main()方法调用后SetLicense ()编解码器= RasterCodecs ()形象= codecs.Load (r“C: \ LEADTOOLS22 \资源\ \ testframe1.jpg图像”)#创建一个新的形象与透明度alpha通道近乎全地区的形象imageWithAlpha = AddAlphaTransparency(图片)#另存为32位PNG存储和图像alpha通道编解码器。保存(imageWithAlpha, r“C: \ LEADTOOLS22 \资源\ \ imagePlusAlpha.png图像”,RasterImageFormat。Png, 32)#创建一个新的形象与透明度alpha通道近乎全地区的形象imageWithTransparentColor = AddTransparentColor(图片)#另存为8位GIF图像存储与透明的颜色编解码器。保存(imageWithTransparentColor, r“C: \ LEADTOOLS22 \资源\ \ imageWithTranspColor.gif图像”,RasterImageFormat。Gif, 8)

处理流

加载文件使用MemoryStream,替换的代码main ()用以下方法:

def main ():SetLicense ()编解码器= RasterCodecs ()filepath = r“C: \ LEADTOOLS22 \资源\ \ testframe1.jpg图像”字节= File.ReadAllBytes (filepath)女士= MemoryStream(字节)形象= codecs.Load(女士)#图像= codecs.Load (r " C: \ LEADTOOLS22 \资源\ \ testframe1.jpg图片”)#创建一个新的形象与透明度alpha通道近乎全地区的形象imageWithAlpha = AddAlphaTransparency(图片)#另存为32位PNG存储和图像alpha通道编解码器。保存(imageWithAlpha, r“C: \ LEADTOOLS22 \资源\ \ imagePlusAlpha.png图像”,RasterImageFormat。Png, 32)#创建一个新的形象与透明度alpha通道近乎全地区的形象imageWithTransparentColor = AddTransparentColor(图片)#另存为8位GIF图像存储与透明的颜色编解码器。保存(imageWithTransparentColor, r“C: \ LEADTOOLS22 \资源\ \ imageWithTranspColor.gif图像”,RasterImageFormat。Gif, 8)

运行该项目

按运行项目F5,或通过选择调试- >开始调试

如果遵循正确的步骤,应用程序运行和加载JPEG图像,增加透明度,两种不同的方法并保存结果图像与透明度两个不同的文件。

总结

本教程展示了如何添加必要的引用产生透明的图像以及如何保存图像文件。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2023领先的技术公司。保留所有权利。