Closed nuthx closed 3 years ago
You use very large display. What is your screen resolution in pixels?
Could you please run this test build? I made it for another issue, but seems that it may have an impact also in your case.
It's 3840x2160, standard 4K resolution. I have tried that build yesterday, but still not works.
I need more information.
1) Show your config.ini
file or screenshot with program settings.
2) Have you tried to change settings like image format/color depth?
3) Run this test and paste output here - ScreenTest.zip.
Thanks, I'll try this and give you config file next Monday. Only my work place has the 4K monitor.
config.ini: [main] OutputDir=D:\OneDrive\ͼƬ\Daily ImageFormat=JPG JPEGQuality=80 ColorDepth=24 Language=en Grayscale=0 StartMinimized=1 StartCaptureOnStartUp=1 StopWhenInactive=0 AutoRun=1 FileNameTemplate=%Y-%M-%D\%H.%N.%S
All four formats don't work.
GetSystemMetrics(SM_CXVIRTUALSCREEN) GetSystemMetrics(SM_CYVIRTUALSCREEN) = 2560 1440 Screen.Width Screen.Height = 2560 1440 GetClientRect = 0 0 591 332 GetSystemMetrics(SM_XVIRTUALSCREEN) GetSystemMetrics(SM_YVIRTUALSCREEN) = 0 0 DesktopRect = 0 0 2560 1440 WorkAreaRect = 0 0 2560 1400 PPI = 96 Bitmap.Width Bitmap.Height = 2560 1440
It looks the screen test tool shows the wrong result. For reference, display resolution is 3840x2160 and do 150% scale on system setting.
150% scale on system setting
Quite possibly that it may be a reason, because 2560x1400 * 1,5 = 3840x2160. Could you please make screenshot of your display settings, please?
Also I need to know your monitor actual DPI.
Could you please take screenshot of AutoScreenshot main window? I want to check if UI components look good/correct on your diplay.
Quite possibly that it may be a reason, because 2560x1400 * 1,5 = 3840x2160.
I think it's the reason. It could take a correct resolution screenshot as 1.0 scale.
Calculated PPI is 163.18. I didn't find a way to show actual DPI.
By the way, I guess you can scale you screen on setting and test this issue.
Thanks for screenshots you provided.
I guess you can scale you screen on setting and test this issue.
I will try.
I downloaded this program today and have the same issue with scaling. Using Windows 8.1, at 150% windows display scaling.
at 1440p resolution: screenshots are only 1707x960 (clipped to top left of screen) at 1080p resolution: screenshots are only 1280x720 (clipped to top left of screen)
So the math checks out, it's a scaling bug. But it would be good if this is fixed, because to change windows scaling setting back and forth you have to sign out or restart windows which is very inconvenient.
I downloaded this program today and have the same issue with scaling.
This problem happens when your scale is 150% or more. In this case Windows provides to the program incorrect sizes. bacause it imitates 96 DPI for program UI.
In theory I can make my program DPI Aware. But it will lead to remaking GUI for supporting different screen DPI. I think instead of this it will be better to migrate program to modern Delphi version where HighDPI is supported.
Unfortunately, at the moment I have no other ideas how to get correct values.
Now I found a way to avoid this issue:
Confirming issue. My display is 1920x1280 with a 150% scale. But AutoScreenshot detects it as 1280x853 and screenshots are clipped.
@delfer This is known issue, but unfortunatelly at the moment I can`t fix it (migrate to newer version of Delphi needed for this), Anyway thank you.
What about to build with Lazarus?
What about to build with Lazarus?
Yes, I didn't forget about Lazarus. It also has High DPI support and allow to fix this issue. But migration need much time.
However I started to port project to Lazarus for experiment. Looks good and it is possible that one of the next release will be made with Lazarus.
Fixed in v1.8
Now I found a way to avoid this issue:
- Right click AutoScreenshot and goto property
- Goto compatibility, then click Change high DPI settings
- Check Override high DPI scaling behavior
- Enjoy
brilliant!I love you
When I use 4K monitor, it can't take a screenshot of correct resolution. Only topleft 2560x1440 can be taken and cut. I tried to run with my old 1080P monitor and 2K monitor, works perfectly on both.
Screenshot:
Version: 1.5