накладненько однако весь экран гонять. сделай лучше так: получил размер экрана, вычислил нужные блоки, загнал в 3-4 (я все 4 стороны обрабатывал) картинки. и уже с ними работай, например поищи как blur можно применить. непомню, в gdi+ есть он или нет, но в сети явно должны быть примеры реализации или библиотеки. коофициент размытия можно побольше выставить. я в wpf примерно так и делаю. только я сразу указываю исходную область виртуального экрана и оно директиксом уже само аппаратно применяет блур и перемаштабирует (а зачем мне в проге громадный кусок картинки?). очень быстро всё, но доступа к оверлеям я таки и не смог в wpf добиться. так что пока забил
Добавлено спустя 13 минут 48 секунд:
а, забыл. кроме BitBlt есть еще StretchBlt подобные функции