Class: ScreenDriver::Driver
- Inherits:
-
Object
- Object
- ScreenDriver::Driver
- Defined in:
- lib/driver/driver.rb
Instance Method Summary collapse
-
#convert(image) ⇒ Object
Converts an image into an array of RGB values.
- #doubleclick(image) ⇒ Object
- #find(image) ⇒ Object
-
#get_arr(image) ⇒ Object
Gets an array of RGB values.
-
#initialize ⇒ Driver
constructor
A new instance of Driver.
- #left_click(image) ⇒ Object
- #move_mouse(image) ⇒ Object
- #press_keys(string) ⇒ Object
- #press_modified_key(modifier, key) ⇒ Object
- #screen_to_file(filename) ⇒ Object
-
#search(img1, img2) ⇒ Object
Search function will allow you to search for a images within image files.
- #sub_screen_to_file(filename, x, y, w, h) ⇒ Object
Constructor Details
Instance Method Details
#convert(image) ⇒ Object
Converts an image into an array of RGB values
97 98 99 100 101 |
# File 'lib/driver/driver.rb', line 97 def convert(image) ib = @screen.get_image(image) is = ImageSearch.new is.rgbArray(ib) end |
#doubleclick(image) ⇒ Object
78 79 80 81 82 83 84 85 86 |
# File 'lib/driver/driver.rb', line 78 def doubleclick(image) screenshot = @screen.screenshot srch = @screen.get_image(image) is = ImageSearch.new is.searchImage(screenshot, srch) if (is.getX >= 0 && is.getY >= 0) @mouse.double_click(is.getX, is.getY) end end |
#find(image) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/driver/driver.rb', line 42 def find(image) ss = @screen.screenshot srch = @screen.get_image(image) is = ImageSearch.new is.searchImage(ss, srch) puts "#{is.getX} #{is.getY}" if (is.getX < 0 || is.getY < 0) return false else return true end end |
#get_arr(image) ⇒ Object
Gets an array of RGB values. Slower than the convert function.
90 91 92 93 |
# File 'lib/driver/driver.rb', line 90 def get_arr(image) img = @screen.get_image(image) @screen.img_to_rgb_array(img) end |
#left_click(image) ⇒ Object
67 68 69 70 71 72 73 74 75 76 |
# File 'lib/driver/driver.rb', line 67 def left_click(image) screenshot = @screen.screenshot srch = @screen.get_image(image) is = ImageSearch.new is.searchImage(screenshot, srch) if (is.getX >= 0 && is.getY >= 0) @mouse.left_click(is.getX, is.getY) end end |
#move_mouse(image) ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/driver/driver.rb', line 55 def move_mouse(image) screenshot = @screen.screenshot srch = @screen.get_image(image) is = ImageSearch.new is.searchImage(screenshot, srch) if (is.getX >= 0 && is.getY >= 0) @mouse.mouse_move(is.getX, is.getY) end end |
#press_keys(string) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/driver/driver.rb', line 10 def press_keys(string) robot = Robot.new keys = string.upcase.split("") keys.each do |key| kc = @keys.get(key) robot.keyPress(kc) robot.keyRelease(kc) end end |
#press_modified_key(modifier, key) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/driver/driver.rb', line 20 def press_modified_key(modifier, key) m = @keys.get(modifier.upcase) k = @keys.get(key.upcase) robot = Robot.new robot.keyPress(m) robot.keyPress(k) robot.keyRelease(k) robot.keyRelease(m) end |
#screen_to_file(filename) ⇒ Object
30 31 32 33 |
# File 'lib/driver/driver.rb', line 30 def screen_to_file(filename) ss = @screen.screenshot @screen.put_image(ss, filename) end |
#search(img1, img2) ⇒ Object
Search function will allow you to search for a images within image files.
105 106 107 108 109 110 111 112 |
# File 'lib/driver/driver.rb', line 105 def search(img1, img2) i1 = @screen.get_image(img1) i2 = @screen.get_image(img2) is = ImageSearch.new #is.rgbArray(ib) is.searchImage(i1, i2) return is.getX, is.getY end |
#sub_screen_to_file(filename, x, y, w, h) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/driver/driver.rb', line 35 def sub_screen_to_file(filename, x, y, w, h) ss = @screen.screenshot sub = ss.getSubimage(x, y, w, h) @screen.put_image(sub, filename) end |