如果我有两个包含图像和 Alpha channel 的独立 JPG 文件,如何创建 PNG 文件?
JPG 图像 + JPG 蒙版 --> 具有透明度的 PNG
我尝试过 WPF 解决方案:
image.OpacityMask = new ImageBrush ( new BitmapImage ( uriMask ) );
和 System.Drawing。
Image bmpMask = Image.FromFile ( maskFilePath );
gfxNewImage.SetClip ( Graphics.FromImage (bmpMask) );
但我对两者都有问题(黑色背景或全黑)
有什么想法或例子吗?
谢谢
最佳答案
好吧,假设您有一张 JPEG 图片和一张带有 Alpha channel 的 Png 图片。 您应该这样做,并且只有当这 2 个图像大小相同时它才会起作用。
Bitmap jpegFile = new Bitmap("JpegFile.jpg");
Bitmap alphaFile = new Bitmap("Png.jpg");
for(int i=0;i<jpegFile.Width;i++)
{
for(int j=0;j<jpegFile.Height;j++)
{
Color withAlpha = jpegFile.GetPixel(i,j);
withAlpha.A = alphaFile.GetPixel(i,j).A;
jpegFile.SetPixel(withAlpha);
}
}
关于c# - 在 C# 中创建具有 JPG 和 AlphaChannel 的 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7360976/