我有一个项目,使用分割位图10000x10000像素到100x100像素,然后我压缩到png。我的代码:
Bitmap bitmap = new Bitmap("file name");
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 100; j++)
{
Bitmap cropped = bitmap.Clone(new Rectangle(i*100, j*100, 100, 100), bitmap.PixelFormat);
MemoryStream ms = new MemoryStream();
crop.Save(ms, ImageFormat.Png);
Bitmap NewSmallBitmap = new Bitmap(ms);
//work something with new bitmap
}
}
但它运行得非常慢 - 一个循环大约1ms,所有循环大约10秒。有没有人有beter性能的解决方案?感谢
答案 0 :(得分:1)
您应该使用“任务”;
TaskFactory.StartNew允许您启动任务,您可以多次调用它。每次调用都返回一个Task对象;将其保存在列表或数组中。
开始所有工作后,请致电Task.WaitAll(Task[])等待所有工作完成。