The compiler is telling you that the object returned from the getScreenshotAs method is not a File, which is what you're trying to assign it to.
You might be tempted to force the assignment using a cast like this:
File scrFile = (File) ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("D:\\new\\screenshot1.png"), true);
However that's not the right solution. Look right at the top of your code (well done for posting all of it!) where we can see that you have this import:
import org.apache.commons.io.FileUtils;
Whereas you need:
import java.io.File;
I think that if you change this import it should compile without complaint and without need for that cast mentioned above.