【SkiaSharp】PNG画像をBitmapImageで読み込みbyte配列で処理した後PNGで保存する方法
Published in
Mar 5, 2021
*2021.3.6更新
SkiaSharpで画像処理するサイトがあまりなかったので載せておきます。”何か処理”以降は僕もあまり理解してませんがとりあえずコピペでいけるはずです。
var bitmap = SKBitmap.Decode("path/imagename.png");
var bitmap_byte = bitmap.Bytes;//バイト配列(bitmap_byte)を処理....
//処理したバイト配列をbitmap_byteに上書きしたと仮定SKBitmap new_bitmap = new SKBitmap(bitmap.Width, bitmap.Height);IntPtr pixelsAddr = new_bitmap.GetPixels();
Marshal.Copy(bitmap_byte, 0, pixelsAddr, b_byte.Length);
var stream = File.OpenWrite("path/new_imagename.png");
new_bitmap.Encode(stream, SKEncodedImageFormat.Png, 80);
stream.Dispose();