图片逐像素处理的速度比较
这篇文章将介绍对图片进行逐个像素的处理时的方法,由于方法的不同将会造成处理的速度的巨大区别。
以下通过一个例子来说明各种方法的处理速度:
我们将一幅200×266像素的图片每个像素的RGB颜色中的R分量减少100,减少后小于0的按0计算。如图所示将图1转变成图2。
[1] [2]
1. 使用Bitmap的GetPixel和SetPixel方法访问
public static Bitmap ProcessByPixel(Bitmap src)
{
Bitmap rs = new Bitmap(src.Width, src.Height);
for (int i = 0; i < src.Width; i++)
{
for (int j = 0; j < src.Height; j++)
{

本文对比了三种处理图片像素的方法:使用Bitmap的GetPixel和SetPixel、指针访问及整型数组访问。实验显示,使用指针访问速度最快,约为30ms,直接修改源图片的指针访问方法更快速,但会改变源图片。Bitmap的GetPixel和SetPixel方法最慢,适合少量处理。
最低0.47元/天 解锁文章
1328

被折叠的 条评论
为什么被折叠?



