我对请求传入的图像应用过滤器,然后将其发送回来。我现在在 Bitmap 的帮助下处理它,非常方便,但性能受到很大影响。是否有专门为此目的的库/类?
从传入流转换为图片
var Picture = new Bitmap(listenerContext.Request.InputStream);
迭代像素以设置新颜色。GetPixel 方法性能低下(在我看来)
for (int x = 0; x < bmp.Width; x++)
for (int y = 0; y < bmp.Height; y++) {
var temp = bmp.GetPixel(x,y);
bmp.SetPixel(x,y, Color.FromArgb(temp.A,temp.R,temp.G,temp.B));
}
保存图像以响应请求
Picture.Save(listenerContext.Response.OutputStream, ImageFormat.Png);
我发现使用FastBitmap最简单,如下所示:
这与使用通常的区别很小
Bitmap;而且您不需要反向转换器 - 在操作期间,它会更改Bitmap创建它的现有转换器。