← Back to team overview

sikuli-driver team mailing list archive

[Bug 1251163] Re: [request] add feature to get pixel color of a captured image

 

I try to launch your code with some modification :

from java.awt import Color
from java.awt import Robot

def findItemsOfColor():
    area = Region(0,0,600,400)
    area.highlight(1)
    wait(1)
    x = area.x
    y = area.y
    i=0
    while i==0:
        x = x+1
        p = Location(x,y)
        aColor = Color(0x6969FF)
        if Robot().getPixelColor(p.x, p.y) == aColor:
            print "FOUND ITEM!!!"
            click(x+4,y+4)
            wait(1)
        if x > area.x + area.w:
            print "Searched row"
            x = area.x
            y = y + 1
            if y > area.y + area.h:
                i = 1
                break
  
findItemsOfColor()

--- 
It's working but it's very slow. It's probably because you ask the color of each pixel directly without using a buffered image.
Try the code I release in #1. It should be faster. The function Robot().createScreenCapture() return a BufferedImage object.

Regards.

-- 
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/1251163

Title:
  [request] add feature to get pixel color of a captured image

Status in Sikuli:
  In Progress

Bug description:
  Hi! I'm trying to find colored pixels in a region with this code, but no luck :(
  Can someone tell me whats wrong?

  def findItemsOfColor():
      area = Region(playground.x + 75,playground.y + 90,600,400)
      area.highlight(1)
      wait(1)
      x = area.x
      y = area.y
      i=0 
      while i==0:
          x = x+1
          p = Location(x,y)
          aColor = Color(0x6969FF)
          if myRobot.getPixelColor(p.x, p.y) == aColor:
              print "FOUND ITEM!!!"
              click(x+4,y+4)
              wait(1)
          if x > area.x + area.w:
              print "Searched row"
              x = area.x
              y = y + 1
              if y > area.y + area.h:
                  i = 1
                  break

To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1251163/+subscriptions


References