Q:

Selenium Chromedriver screenshot in Java has diffrent resolution than the one set

I’m using Selenium with Chrome driver to take a screenshot of a site and setting the window dimension to 800x600.  When I look at the .png it’s greater than that and changes per screen resolution.  The difference is greater than the scroll bars, Set it to capture 800x600 and it produces a 1179x704 image(my monitor res is 3840 x 2160).  This also changes per the resolution on the monitor.  Is there a way to set it so the output is the same no matter what the screen resolution is? 
i've tried:
driver.manage().window().setSize(new Dimension(800, 600));
&
options.addArguments("window-size=800x600");
public static void main(String[] args)throws IOException {   

    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
    DesiredCapabilities dc = DesiredCapabilities.chrome();
    ChromeOptions options = new ChromeOptions();

    //options.addArguments("window-size=800x600");

    WebDriver driver = new ChromeDriver(options);

    driver.get("https://www.website.com");
    driver.manage().window().setSize(new Dimension(800, 600));
    File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType. FILE);

        FileUtils.copyFile(scrFile, new File("screenshot.png"));
        System.out.println("DONE TAKING SCREENSHOT OF SITE");

A:

If you don't mind switching to headless mode, try adding these lines:
options.addArguments("--headless");
options.addArguments("--window-size=800,600");

