skiasharp png透明背景图片转换为jpg缩略图时背景变黑问题的解决办法

 

You can just draw the bitmap onto a new bitmap.
This will also handle the cases of partial transparency, and also not need thousands of p/invokes with the Get/SetPixel (this is very, very slow).

var original = SKBitmap.Decode(inputStream);

// create a new bitmap with the same dimensions
// also avoids the first copy if the color type is index8
var copy = new SKBitmap(original.Width, original.Height);

// we need a canvas to draw
var canvas = new SKCanvas(copy);

// clear the bitmap with the desired color for transparency
canvas.Clear(SKColors.White);

// draw the bitmap on top
canvas.DrawBitmap(original, 0, 0);

 

posted @ 2022-01-22 15:07  jopny  阅读(580)  评论(0编辑  收藏  举报