Увеличительное стекло

Всем доброго времени суток.

Такой вопрос:

Нужно написать программу, которая сможет использовать

указатель мыши как центр увеличительного стекла для увеличения

фонового изображения на экране. Программа должна позволять

интерактивно вводить коэффициент увеличения (2, 4, 5, 10, 20, 25) и

выводить увеличенное изображение (его центр отмечает указатель

мыши) в рамках области 100х100 пикселей. При движении мыши

“увеличительное стекло” также должно двигаться по экрану. При

увеличении или уменьшении изображения его необходимо

масштабировать.