У меня есть 3 точки растрового изображения.
Bitmap* totalCanvas = new Bitmap(400, 300, PixelFormat32bppARGB); // final canvas
Bitmap* bottomLayer = new Bitmap(400, 300,PixelFormat32bppARGB); // background
Bitmap* topLayer = new Bitmap(XXX); // always changed.
Я нарисую сложный фон на нижнем слое. Я не хочу перерисовывать сложный фон на totalCanvas снова и снова, поэтому я сохранил его в bottomLayer.
TopLayer часто меняется.
Я хочу нарисовать bottomLayer для totalCanvas. Какой самый быстрый способ?
Graphics canvas(totalCanvas);
canvas.DrawImage(bottomLayer, 0, 0); step1
canvas.DrawImage(topLayer ,XXXXX); step2
Я хочу, чтобы шаг 1 был максимально быстрым. Кто-нибудь может дать мне образец?
Большое спасибо!
Спасибо за ответ. Я пишу следующий код:
Graphics canvas(totalCanvas);
for (int i = 0; i < 100; ++i)
{
canvas.DrawImage(bottomLayer, 0,0);
}
эта часть занимает 968 мс ... она слишком медленная ...