以下是一个简单的例子:Stopwatch sw = new Stopwatch();
sw.Start();
Bitmap bitmap = new Bitmap(512,512);
for (int i = 0; i < bitmap.Width;i++ )
{
for (int j = 0; j < bitmap.Height; j++)
{
bitmap.SetPixel(i, j, Color.Green);
}
} string filePath = Application.StartupPath + "\\test.bmp";
bitmap.Save(filePath);
sw.Stop();
Console.WriteLine("Time is {0} MillSeconds",sw.ElapsedMilliseconds);当前打出的值大概是258ms,如果图多的话费时很多。
setPixel()提速我知道的,我也找到了一个快速setpixel()的方法了。
bitmap保存的,我不知道是24位还是32位。但我的图是黑白的,只需要用到8位的灰度图即可。
所以各位有办法在存图时用8位图存吗?这样可以加快速度吗?
sw.Start();
Bitmap bitmap = new Bitmap(512,512);
for (int i = 0; i < bitmap.Width;i++ )
{
for (int j = 0; j < bitmap.Height; j++)
{
bitmap.SetPixel(i, j, Color.Green);
}
} string filePath = Application.StartupPath + "\\test.bmp";
bitmap.Save(filePath);
sw.Stop();
Console.WriteLine("Time is {0} MillSeconds",sw.ElapsedMilliseconds);当前打出的值大概是258ms,如果图多的话费时很多。
setPixel()提速我知道的,我也找到了一个快速setpixel()的方法了。
bitmap保存的,我不知道是24位还是32位。但我的图是黑白的,只需要用到8位的灰度图即可。
所以各位有办法在存图时用8位图存吗?这样可以加快速度吗?
解决方案 »
- 新手 求指点
- 如何将 唯一的 GUID 计算称 唯一的 int数据
- c#.net如何提取当前日期中号数?
- 请问有没有一个函数,无论小数是多少,都直接进位为整数
- 有没有能显示多列的listbox或是其他能显示多列的表
- C#启动其他程序的问题
- 各位高手,我们的无聊老师又布了这样的一个题目
- 如何在void Page_Load()自动触发或执行btn_onclick事件。谢谢
- 有人玩过RGB吗?我现在想在Nevron这个图表控件的直方图上动态的填加上颜色!(进来看看嘛~)
- C#WINFORM 从text.box控件中取值问题
- 请教实现论坛自动发帖回帖的实现思路(无验证码)?
- C#如何自定义Winform中圆角的TextBox控件
{
for (int j = 0; j < bitmap.Height; j++)
{
bitmap.SetPixel(i, j, Color.Green);
}
}
这段用指针去操作会快点 调用SetPixel很慢的