Меняйте фон только тогда, когда его действительно-ДЕЙСТВИТЕЛЬНО нужно изменить. Когда это? Когда предыдущая координата была для старого фона, а новая координата для нового. Итак, вы должны сохранить старую координату, чтобы иметь возможность сравнить ее с новой.
Кроме того, не загружайте изображение каждый раз, когда вы хотите изменить его. Загружайте оба изображения только один раз при запуске программы и выбирайте одно из памяти, когда хотите изменить фон.
Кроме того, вместо цикла while(true)
вы должны подписаться на событие MouseMove, чтобы вы не запускали одно ядро процессора до 100% использования. Кричит @ Idle_Mind