RFR: 8342098: Write a test to compare the images [v3]

Alexey Ivanov aivanov at openjdk.org
Wed Oct 30 14:55:12 UTC 2024


On Wed, 30 Oct 2024 14:30:56 GMT, Naveen Narayanan <duke at openjdk.org> wrote:

>> test/jdk/java/awt/Robot/ScreenCaptureRobotTest.java line 94:
>> 
>>> 92: 
>>> 93:         Point pnt = canvas.getLocationOnScreen();
>>> 94:         Rectangle rect = new Rectangle(pnt.x + 10, pnt.y + 10, 200, 100);
>> 
>> Why are coordinates of the start of the canvas are offset by 10 pixels but the size isn't? The image is 200×100, then you capture 10 pixels on the right and bottom which belong to whatever is on the screen in this area.
>
> @aivanov-jdk 
> While creating the Canvas 
> drawImage(realImage, 10, 10, this)
> 10 offset is used.
> 
> Hence the start point coordinates also moved by 10 pixels
> for capturing.

Okay, I see that you offset the image on the canvas too.

If you insist on using an offset, please declare a constant `OFFSET = 10` and use it everywhere instead of the ‘magic’ numbers: when painting to canvas, and when capturing the image.

You used a constant for a delay that was used once but you don't create a constant to offset the image off edges that you use in two different places. If one place is updated, the other has to be updated as well. Using a constant does it all automatically.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21524#discussion_r1822804191


More information about the client-libs-dev mailing list