gpt4 book ai didi

.net - 合并两个图像,其中一个是透明的

转载 作者:行者123 更新时间:2023-11-30 04:40:40 25 4
gpt4 key购买 nike

我有两个位图图像。其中一张包含一张用 USB 相机拍摄的照片。另一个将包含一个形状,如矩形,但它也可以是梯形,或者可以说是一个只有一种颜色的随机形状。图像的其余部分现在是白色的。

这两张图片的尺寸不同,但缩放算法并不是这里最困难的部分,所以我们假设它们的尺寸完全相同。

我想在 USB 相机图片上显示我的形状。出于组合目的,白色部分将被视为透明。现在我正在考虑逐个像素地编辑图像,但我正在寻找一个 API 来为我做这件事。

因此,如果我拍一张中间有房子的照片并叠加一个红色矩形,则生成的图像将包含原始图片,房子周围有一个红色矩形。

如果这有帮助,我正在使用 .NET。如果它包含一些有用的功能,我也可以使用 win32 API。

编辑:我接受了答案,因为它让我走上了正确的轨道。这实际上非常容易做到。

Bitmap^ overlay_image = gcnew Bitmap("overlay.bmp");
Bitmap^ original_image = gcnew Bitmap("original.bmp");
overlay_image->MakeTransparent(Color::White);
Graphics^ g_original = Graphics::FromImage(original_image);
g_original->DrawImage(overlay_image, 0, 0);

瞧,original_image 现在上面有一个红色矩形。对于我的 30fps USB 相机来说,它实际上足够快,所以我可以实时获取它。

目前没有进行缩放。此外,它假定叠加图像背景为白色,这将变为透明。

最佳答案

如果您使用的是完整的 .NET 平台,System.Drawing.Imaging 具有用于 alpha channel 和 mask 的函数:

http://www.codeproject.com/KB/GDI-plus/alphafx.aspx

关于.net - 合并两个图像,其中一个是透明的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/899001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com