Re: [Sikuli-driver] [Question #698511]: Capture/find Sikuli API fails with one Retina screen and one non-Retina screen

2021-08-26 Thread Qcfvrtg
Question #698511 on SikuliX changed:
https://answers.launchpad.net/sikuli/+question/698511

Qcfvrtg posted a new comment:
라이브바카라 인터넷카지노; 카지노사이트 | 라이브카지노 1 년 이상 최고의 바카라사이트 정말 정통해서 아시아 최고의 인터넷바카라
테이블 옆에있는 것과 같습니다. 콩 모양의 테이블에 카드를 뒤집어 놓은 상태에서 플레이어가 아시아에서


인터넷바카라
https://www.twec55.com

-- 
You received this question notification because your team Sikuli Drivers
is an answer contact for SikuliX.

___
Mailing list: https://launchpad.net/~sikuli-driver
Post to : sikuli-driver@lists.launchpad.net
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp


Re: [Sikuli-driver] [Question #698511]: Capture/find Sikuli API fails with one Retina screen and one non-Retina screen

2021-08-26 Thread RaiMan
Question #698511 on SikuliX changed:
https://answers.launchpad.net/sikuli/+question/698511

Description changed to:
The issue will be tracked on GitHub: 
https://github.com/RaiMan/SikuliX1/issues/474
--

Java Version: 11
Sikuli API Version: 2.0.5
Computers Tested: 13" M1 2020 MacBook Pro and 13" 2017 MacBook Pro
OS Version: macOS Big Sur 11.4

I have a MacbookPro with a Retina screen connected to an external
display. The external display has a resolution of 2560x1440 but is not
treated as Retina by MacOS (Big Sur). I have the external display
configured to be the primary via macOS Display settings, making it
Screen 0 for Sikuli . Sikuli sees Screen 1 as the native screen of the
MacBook Pro (Retina) positioned to the left through MacOS Display
configuration. Here is Screen.showMonitors() from Java using Sikuli API:

*** monitor configuration [ 2 Screen(s)] ***
*** Primary is Screen 0
Screen 0: R[0,0 2560x1440]@S(0)
Screen 1: R[-1680,284 1680x1050]@S(1)
*** end monitor configuration ***

With the configuration this way, I can reliably capture/find images on
Screen 0, but the pixel dimensions are so far off on Screen 1 (the
Retina screen) captures and finds fail. Sikuli API doesn't seem to be
capturing things correctly on the Retina screen in this configuration.

See https://github.com/harmonjeff/sikuli-retina-
bug/tree/master/FailedCaptureImages

To illustrate the issue I created a test Java application that uses the
Sikuli API to capture the screens. I opened up two windows of TextEdit,
placing one on each screen. I sized the TextEdit window to cover the
entire screen (except the dock on Screen 0). You can see the source
here:

https://github.com/harmonjeff/sikuli-retina-bug

If I switch the primary window to being the Retina screen using the
MacOS Display settings and re-run the test then the Retina screen
captures correctly and the external display does not.  It seems the mix
of Retina with non-Retina causes the non-primary screen to not
capture/find correctly.

In researching what could be going on I discovered a system property
that seems to make things function correctly as far as Siklui API
capturing and finding images using Java. If I set the
"sun.java2d.uiScale" property to be "1.0" then the captures in the
sample application function correctly on both screens.

https://github.com/harmonjeff/sikuli-retina-
bug/tree/master/SuccessCaptureImages

Setting that system parameter in the launch of the JVM or in a static
that executes before any Java code tries to use AWT seems to fix Siklui
API capture/find methods on both screens.  This solution works for me
with one significant exception.  I need to be able to tell if the
application I am testing using Sikuli is running on a Retina screen.
Images captured using Siklui on the Retina display do not match well
when the application is on the non-Retina screen and vice-versa. I am
solving this problem by capturing reference images from both Retina and
non-Retina, but I need to know if the application is running on a Retina
screen to use the correct reference images.

The best way I have seen to detect if an application window is on a
Retina screen in Java 9+ is in the same application code shared above,
the isRetina method. The method only works if the system property is not
defined. It seems that if you use the system property to set the UI
scaling to 1.0 then it applies to all screens and the AffineTransform no
longer has an accurate result on the isIdentity method.  I tried
detecting the Retina screens just before setting that system property,
but it seems that as soon as I access the AWT objects to do that test
setting the system property doesn't do anything.

I don't have a way to both detect the application is running in a Retina
screen and have the capture/find Sikuli API functions work properly on
both screens when one is Retina and the other is not.

This issue seems very closely related to this question: 
https://answers.launchpad.net/sikuli/+question/682295 
Which resulted in the creation of this bug: 
https://bugs.launchpad.net/bugs/1840689

-- 
You received this question notification because your team Sikuli Drivers
is an answer contact for SikuliX.

___
Mailing list: https://launchpad.net/~sikuli-driver
Post to : sikuli-driver@lists.launchpad.net
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp


Re: [Sikuli-driver] [Question #698511]: Capture/find Sikuli API fails with one Retina screen and one non-Retina screen

2021-08-26 Thread RaiMan
Question #698511 on SikuliX changed:
https://answers.launchpad.net/sikuli/+question/698511

Status: Open => Solved

RaiMan changed the question status:
Great thanks for your effort and the findings.

The issue will be tracked on GitHub:
https://github.com/RaiMan/SikuliX1/issues/474

-- 
You received this question notification because your team Sikuli Drivers
is an answer contact for SikuliX.

___
Mailing list: https://launchpad.net/~sikuli-driver
Post to : sikuli-driver@lists.launchpad.net
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp


[Sikuli-driver] [Question #698511]: Capture/find Sikuli API fails with one Retina screen and one non-Retina screen

2021-08-25 Thread Jeff Harmon
New question #698511 on SikuliX:
https://answers.launchpad.net/sikuli/+question/698511

Java Version: 11
Sikuli API Version: 2.0.5
Computers Tested: 13" M1 2020 MacBook Pro and 13" 2017 MacBook Pro
OS Version: macOS Big Sur 11.4

I have a MacbookPro with a Retina screen connected to an external display. The 
external display has a resolution of 2560x1440 but is not treated as Retina by 
MacOS (Big Sur). I have the external display configured to be the primary via 
macOS Display settings, making it Screen 0 for Sikuli . Sikuli sees Screen 1 as 
the native screen of the MacBook Pro (Retina) positioned to the left through 
MacOS Display configuration. Here is Screen.showMonitors() from Java using 
Sikuli API:

*** monitor configuration [ 2 Screen(s)] ***
*** Primary is Screen 0
Screen 0: R[0,0 2560x1440]@S(0)
Screen 1: R[-1680,284 1680x1050]@S(1)
*** end monitor configuration ***

With the configuration this way, I can reliably capture/find images on Screen 
0, but the pixel dimensions are so far off on Screen 1 (the Retina screen) 
captures and finds fail. Sikuli API doesn't seem to be capturing things 
correctly on the Retina screen in this configuration.

See 
https://github.com/harmonjeff/sikuli-retina-bug/tree/master/FailedCaptureImages

To illustrate the issue I created a test Java application that uses the Sikuli 
API to capture the screens. I opened up two windows of TextEdit, placing one on 
each screen. I sized the TextEdit window to cover the entire screen (except the 
dock on Screen 0). You can see the source here:

https://github.com/harmonjeff/sikuli-retina-bug

If I switch the primary window to being the Retina screen using the MacOS 
Display settings and re-run the test then the Retina screen captures correctly 
and the external display does not.  It seems the mix of Retina with non-Retina 
causes the non-primary screen to not capture/find correctly.

In researching what could be going on I discovered a system property that seems 
to make things function correctly as far as Siklui API capturing and finding 
images using Java. If I set the "sun.java2d.uiScale" property to be "1.0" then 
the captures in the sample application function correctly on both screens.

https://github.com/harmonjeff/sikuli-retina-bug/tree/master/SuccessCaptureImages

Setting that system parameter in the launch of the JVM or in a static that 
executes before any Java code tries to use AWT seems to fix Siklui API 
capture/find methods on both screens.  This solution works for me with one 
significant exception.  I need to be able to tell if the application I am 
testing using Sikuli is running on a Retina screen.  Images captured using 
Siklui on the Retina display do not match well when the application is on the 
non-Retina screen and vice-versa. I am solving this problem by capturing 
reference images from both Retina and non-Retina, but I need to know if the 
application is running on a Retina screen to use the correct reference images.

The best way I have seen to detect if an application window is on a Retina 
screen in Java 9+ is in the same application code shared above, the isRetina 
method. The method only works if the system property is not defined. It seems 
that if you use the system property to set the UI scaling to 1.0 then it 
applies to all screens and the AffineTransform no longer has an accurate result 
on the isIdentity method.  I tried detecting the Retina screens just before 
setting that system property, but it seems that as soon as I access the AWT 
objects to do that test setting the system property doesn't do anything.

I don't have a way to both detect the application is running in a Retina screen 
and have the capture/find Sikuli API functions work properly on both screens 
when one is Retina and the other is not.

This issue seems very closely related to this question: 
https://answers.launchpad.net/sikuli/+question/682295 
Which resulted in the creation of this bug: 
https://bugs.launchpad.net/bugs/1840689

-- 
You received this question notification because your team Sikuli Drivers
is an answer contact for SikuliX.

___
Mailing list: https://launchpad.net/~sikuli-driver
Post to : sikuli-driver@lists.launchpad.net
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp