ruby-processing 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. data/CHANGELOG +8 -0
  2. data/lib/patches/JRubyApplet.diff +0 -0
  3. data/lib/patches/PATCHES.txt +0 -0
  4. data/lib/patches/PApplet.diff +0 -0
  5. data/lib/ruby-processing.rb +1 -1
  6. data/lib/ruby-processing/app.rb +20 -1
  7. data/lib/ruby-processing/exporters/base_exporter.rb +1 -1
  8. data/lib/ruby-processing/exporters/creator.rb +1 -2
  9. data/lib/ruby-processing/runner.rb +4 -3
  10. data/lib/ruby-processing/runners/watch.rb +2 -2
  11. data/lib/templates/applet/index.html.erb +1 -1
  12. metadata +2 -145
  13. data/samples/learning_processing/ABOUT +0 -11
  14. data/samples/learning_processing/chapter_01/1_stroke_and_fill.rb +0 -18
  15. data/samples/learning_processing/chapter_01/2_nofill.rb +0 -20
  16. data/samples/learning_processing/chapter_01/3_rgb_color.rb +0 -19
  17. data/samples/learning_processing/chapter_01/4_alpha_transparency.rb +0 -42
  18. data/samples/learning_processing/chapter_01/5_zoog.rb +0 -24
  19. data/samples/learning_processing/chapter_02/1_zoog_again.rb +0 -41
  20. data/samples/learning_processing/chapter_03/1_zoog_as_dynamic_sketch.rb +0 -44
  21. data/samples/learning_processing/chapter_03/2_mouse_x_and_mouse_y.rb +0 -26
  22. data/samples/learning_processing/chapter_03/3_zoog_as_dynamic_sketch_with_variation.rb +0 -41
  23. data/samples/learning_processing/chapter_03/4_drawing_a_continuous_line.rb +0 -18
  24. data/samples/learning_processing/chapter_03/5_mouse_pressed_and_key_pressed.rb +0 -29
  25. data/samples/learning_processing/chapter_03/6_interactive_zoog.rb +0 -42
  26. data/samples/learning_processing/chapter_04/1_variable_declaration.rb +0 -24
  27. data/samples/learning_processing/chapter_04/2_using_variables.rb +0 -27
  28. data/samples/learning_processing/chapter_04/3_varying_variables.rb +0 -27
  29. data/samples/learning_processing/chapter_04/4_many_variables.rb +0 -38
  30. data/samples/learning_processing/chapter_04/5_using_system_variables.rb +0 -28
  31. data/samples/learning_processing/chapter_04/6_ellipse_with_variables.rb +0 -24
  32. data/samples/learning_processing/chapter_04/7_filling_variables_with_random_values.rb +0 -27
  33. data/samples/learning_processing/chapter_04/8_variable_zoog.rb +0 -50
  34. data/samples/learning_processing/chapter_05/01_conditionals.rb +0 -31
  35. data/samples/learning_processing/chapter_05/02_more_conditionals.rb +0 -38
  36. data/samples/learning_processing/chapter_05/03_rollovers.rb +0 -34
  37. data/samples/learning_processing/chapter_05/04_hold_down_the_button.rb +0 -33
  38. data/samples/learning_processing/chapter_05/05_button_as_switch.rb +0 -39
  39. data/samples/learning_processing/chapter_05/06_bouncing_ball.rb +0 -33
  40. data/samples/learning_processing/chapter_05/07_bouncing_color.rb +0 -37
  41. data/samples/learning_processing/chapter_05/08_square_following_edge.rb +0 -59
  42. data/samples/learning_processing/chapter_05/09_simple_gravity.rb +0 -43
  43. data/samples/learning_processing/chapter_05/10_zoog_and_conditionals.rb +0 -53
  44. data/samples/learning_processing/chapter_06/01_many_lines.rb +0 -29
  45. data/samples/learning_processing/chapter_06/02_many_lines_with_variables.rb +0 -53
  46. data/samples/learning_processing/chapter_06/03_while_loop.rb +0 -30
  47. data/samples/learning_processing/chapter_06/04_infinite_loop.rb +0 -25
  48. data/samples/learning_processing/chapter_06/05_another_infinite_loop.rb +0 -33
  49. data/samples/learning_processing/chapter_06/06_legs_with_a_for_loop.rb +0 -41
  50. data/samples/learning_processing/chapter_06/07_local_variables.rb +0 -39
  51. data/samples/learning_processing/chapter_06/08_lines_one_at_a_time.rb +0 -30
  52. data/samples/learning_processing/chapter_06/09_simple_while_loop_with_interactivity.rb +0 -41
  53. data/samples/learning_processing/chapter_06/10_zoog_with_arms.rb +0 -56
  54. data/samples/learning_processing/chapter_06/11_multiple_zoogs.rb +0 -46
  55. data/samples/learning_processing/chapter_07/01_defining_a_function.rb +0 -22
  56. data/samples/learning_processing/chapter_07/02_calling_a_function.rb +0 -22
  57. data/samples/learning_processing/chapter_07/03_bouncing_ball_with_functions.rb +0 -49
  58. data/samples/learning_processing/chapter_07/04_function_returns_distance.rb +0 -48
  59. data/samples/learning_processing/chapter_07/05_zoog_with_functions.rb +0 -71
  60. data/samples/learning_processing/chapter_08/01_car_class_and_car_variable.rb +0 -45
  61. data/samples/learning_processing/chapter_08/02_two_car_objects.rb +0 -60
  62. data/samples/learning_processing/chapter_08/03_object_oriented_zoog.rb +0 -81
  63. data/samples/learning_processing/chapter_10/01_catcher.rb +0 -35
  64. data/samples/learning_processing/chapter_10/02_bouncing_ball.rb +0 -44
  65. data/samples/learning_processing/chapter_10/03_bouncing_balls_with_intersection.rb +0 -69
  66. data/samples/learning_processing/chapter_10/04_a_timer.rb +0 -24
  67. data/samples/learning_processing/chapter_10/05_object_oriented_timer.rb +0 -42
  68. data/samples/learning_processing/chapter_10/06_simple_raindrop.rb +0 -23
  69. data/samples/learning_processing/chapter_10/07_drops_one_at_a_time.rb +0 -63
  70. data/samples/learning_processing/chapter_13/02_random_number_distribution.rb +0 -24
  71. data/samples/learning_processing/chapter_13/03_probabilities.rb +0 -33
  72. data/samples/learning_processing/chapter_13/04_perlin_noise.rb +0 -22
  73. data/samples/learning_processing/chapter_13/06_oscillation.rb +0 -29
  74. data/samples/learning_processing/chapter_13/07_wave.rb +0 -31
  75. data/samples/learning_processing/chapter_13/08_recursion.rb +0 -30
  76. data/samples/learning_processing/chapter_13/09_two_dimensional_array.rb +0 -21
  77. data/samples/learning_processing/chapter_13/10_two_dimensional_array_with_objects.rb +0 -54
  78. data/samples/learning_processing/chapter_14/01_growing_rectangle.rb +0 -26
  79. data/samples/learning_processing/chapter_14/02_multiple_translations.rb +0 -37
  80. data/samples/learning_processing/chapter_14/03_depth_rectangle.rb +0 -29
  81. data/samples/learning_processing/chapter_14/04_pyramid_using_beingshape.rb +0 -55
  82. data/samples/learning_processing/chapter_14/05_rotate_rectangle_around_center.rb +0 -28
  83. data/samples/learning_processing/chapter_14/06_rotate_z.rb +0 -24
  84. data/samples/learning_processing/chapter_14/07_rotate_x.rb +0 -24
  85. data/samples/learning_processing/chapter_14/08_rotate_y.rb +0 -24
  86. data/samples/learning_processing/chapter_14/09_rotate_all.rb +0 -24
  87. data/samples/learning_processing/chapter_14/10_draw_pyramid.rb +0 -59
  88. data/samples/learning_processing/chapter_14/12_rotating_one_square.rb +0 -25
  89. data/samples/learning_processing/chapter_14/13_rotating_another_square.rb +0 -25
  90. data/samples/learning_processing/chapter_14/14_rotating_both_squares.rb +0 -43
  91. data/samples/learning_processing/chapter_14/15_rotating_many_things.rb +0 -56
  92. data/samples/learning_processing/chapter_14/16_simple_solar_system.rb +0 -53
  93. data/samples/learning_processing/chapter_14/17_nested_push_and_pop.rb +0 -50
  94. data/samples/learning_processing/chapter_14/18_object_oriented_solar_system.rb +0 -69
  95. data/samples/learning_processing/chapter_15/01_hello_world_image.rb +0 -20
  96. data/samples/learning_processing/chapter_15/02_image_sprite.rb +0 -29
  97. data/samples/learning_processing/chapter_15/03_swapping_images.rb +0 -25
  98. data/samples/learning_processing/chapter_15/04_image_sequence.rb +0 -22
  99. data/samples/learning_processing/chapter_15/05_setting_pixels.rb +0 -19
  100. data/samples/learning_processing/chapter_15/06_pixels_2d.rb +0 -29
  101. data/samples/learning_processing/chapter_15/07_image_pixels.rb +0 -40
  102. data/samples/learning_processing/chapter_15/08_image_brightness.rb +0 -29
  103. data/samples/learning_processing/chapter_15/09_flashlight_effect.rb +0 -42
  104. data/samples/learning_processing/chapter_15/10_brightness_threshold.rb +0 -33
  105. data/samples/learning_processing/chapter_15/11_brightness_threshold_with_filter.rb +0 -20
  106. data/samples/learning_processing/chapter_15/12_pixel_neighbour_differences.rb +0 -43
  107. data/samples/learning_processing/chapter_15/14_pointillism.rb +0 -34
  108. data/samples/learning_processing/chapter_15/15_2d_image_mapped_to_3d.rb +0 -43
  109. data/samples/learning_processing/chapter_15/data/animal0.jpg +0 -0
  110. data/samples/learning_processing/chapter_15/data/animal1.jpg +0 -0
  111. data/samples/learning_processing/chapter_15/data/animal2.jpg +0 -0
  112. data/samples/learning_processing/chapter_15/data/animal3.jpg +0 -0
  113. data/samples/learning_processing/chapter_15/data/animal4.jpg +0 -0
  114. data/samples/learning_processing/chapter_15/data/animal5.jpg +0 -0
  115. data/samples/learning_processing/chapter_15/data/animal6.jpg +0 -0
  116. data/samples/learning_processing/chapter_15/data/face.jpg +0 -0
  117. data/samples/learning_processing/chapter_15/data/mysummervacation.jpg +0 -0
  118. data/samples/learning_processing/chapter_15/data/sunflower.jpg +0 -0
  119. data/samples/learning_processing/chapter_16/01_display_video.rb +0 -25
  120. data/samples/learning_processing/chapter_16/02_manipulate_video_image.rb +0 -24
  121. data/samples/learning_processing/chapter_16/03_adjust_video_brightness.rb +0 -49
  122. data/samples/learning_processing/chapter_17/01_simple_displaying_text.rb +0 -14
  123. data/samples/learning_processing/chapter_17/02_text_align.rb +0 -21
  124. data/samples/learning_processing/chapter_17/03_scrolling_headlines.rb +0 -35
  125. data/samples/learning_processing/chapter_17/04_text_mirror.rb +0 -68
  126. data/samples/learning_processing/chapter_17/05_rotating_text.rb +0 -22
  127. data/samples/learning_processing/chapter_17/06_text_breaking_up.rb +0 -73
  128. data/samples/learning_processing/chapter_17/07_boxes_along_a_curve.rb +0 -49
  129. data/samples/learning_processing/chapter_17/08_characters_along_a_curve.rb +0 -51
  130. data/samples/learning_processing/chapter_17/data/ArialMT-16.vlw +0 -0
  131. data/samples/learning_processing/chapter_17/data/Courier-Bold-20.vlw +0 -0
  132. data/samples/learning_processing/chapter_18/01_user_input.rb +0 -39
  133. data/samples/learning_processing/chapter_18/02_graphing_comma_separated_numbers_from_a_text_file.rb +0 -28
  134. data/samples/learning_processing/chapter_18/03_creating_object_from_a_text_file.rb +0 -64
  135. data/samples/learning_processing/chapter_18/data/data-1.txt +0 -1
  136. data/samples/learning_processing/chapter_18/data/data-2.txt +0 -10
@@ -1,56 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- # A Rotater class
4
- class Rotater
5
-
6
- def initialize(x, y, speed, width)
7
- @x, @y = x, y
8
- # Angle is always initialized to 0
9
- @theta = 0
10
- @speed = speed
11
- @w = width
12
- end
13
-
14
- # Increment angle
15
- def spin
16
- @theta += @speed
17
- end
18
-
19
- # Display rectangle
20
- def display
21
- # push_matrix and pop_matrix are called inside the class' display method.
22
- # This way, every Rotater object is rendered with its own independent translation and rotation!
23
- $app.push_matrix
24
- $app.translate @x, @y
25
- $app.rotate @theta
26
- $app.rect 0, 0, @w, @w
27
- $app.pop_matrix
28
- end
29
-
30
- end
31
-
32
- class RotatingManyThingsSketch < Processing::App
33
-
34
- def setup
35
- rect_mode CENTER
36
- stroke 0
37
- fill 0, 100
38
- @rotaters = Array.new(20) do
39
- Rotater.new(rand(width), rand(height), random(-0.1, 0.1), rand(48))
40
- end
41
- end
42
-
43
- def draw
44
- background 255
45
-
46
- # All Rotaters spin and are displayed
47
- @rotaters.each do |r|
48
- r.spin
49
- r.display
50
- end
51
- end
52
-
53
- end
54
-
55
- RotatingManyThingsSketch.new :title => "Rotating Many Things", :width => 200, :height => 200
56
-
@@ -1,53 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class SimpleSolarSystemSketch < Processing::App
4
-
5
- def setup
6
- smooth
7
- @theta = 0 # Angle of rotation around sun and planets
8
- end
9
-
10
- def draw
11
- background 255
12
- stroke 0
13
-
14
- # Translate to center of window to draw the sun.
15
- translate width/2, height/2
16
- fill 255, 200, 50
17
- ellipse 0, 0, 20, 20
18
-
19
- # The earth rotates around the sun
20
- push_matrix
21
- rotate @theta
22
- translate 50, 0
23
- fill 50, 200, 255
24
- ellipse 0, 0, 10, 10
25
-
26
- # Moon #1 rotates around the earth
27
- # push_matrix is called to save the transformation state before drawing moon #1.
28
- # This way we can pop and return to earth before drawing moon #2.
29
- # Both moons rotate around the earth which itself is rotating around the sun).
30
- push_matrix
31
- rotate -@theta*4
32
- translate 15, 0
33
- fill 50, 255, 200
34
- ellipse 0, 0, 6, 6
35
- pop_matrix
36
-
37
- # Moon #2 also rotates around the earth
38
- push_matrix
39
- rotate @theta*2
40
- translate 25, 0
41
- fill 50, 255, 200
42
- ellipse 0, 0, 6, 6
43
- pop_matrix
44
-
45
- pop_matrix
46
-
47
- @theta += 0.01;
48
- end
49
-
50
- end
51
-
52
- SimpleSolarSystemSketch.new :title => "Simple Solar System", :width => 200, :height => 200
53
-
@@ -1,50 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class NestedPushAndPopSketch < Processing::App
4
-
5
- def setup
6
- smooth
7
- @theta = 0 # angle for rotation
8
- end
9
-
10
- def draw
11
- background 255
12
- stroke 0
13
-
14
- # Translate to center of window
15
- translate width/2, height/2
16
-
17
- # Loop from 0 to 360 degrees (2*PI radians)
18
- 0.step(TWO_PI, 0.2) do |i|
19
-
20
- # Push, rotate and draw a line!
21
- # The transformation state is saved at the beginning of each cycle through the for loop and restored at the end.
22
- # Try commenting out these lines to see the difference!
23
- push_matrix
24
- rotate @theta + i
25
- line 0, 0, 100, 0
26
-
27
- # Loop from 0 to 360 degrees (2*PI radians)
28
- 0.step(TWO_PI, 0.5) do |j|
29
- # Push, translate, rotate and draw a line!
30
- push_matrix
31
- translate 100, 0
32
- rotate -@theta - j
33
- line 0, 0, 50, 0
34
- # We're done with the inside loop,pop!
35
- pop_matrix
36
- end
37
-
38
- # We're done with the outside loop, pop!
39
- pop_matrix
40
- end
41
- end_shape
42
-
43
- # Increment @theta
44
- @theta += 0.01
45
- end
46
-
47
- end
48
-
49
- NestedPushAndPopSketch.new :title => "Nested Push and Pop", :width => 200, :height => 200
50
-
@@ -1,69 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class Planet
4
-
5
- # Each planet object keeps track of its own angle of rotation.
6
- # @theta Rotation around sun
7
- # @diameter Size of planet
8
- # @distance Distance from sun
9
- # @orbit_speed Orbit speed
10
- def initialize(distance, diameter)
11
- @distance = distance
12
- @diameter = diameter
13
- @theta = 0
14
- @orbit_speed = rand * 0.02 + 0.01
15
- end
16
-
17
- def update
18
- # Increment the angle to rotate
19
- @theta += @orbit_speed
20
- end
21
-
22
- def display
23
- # Before rotation and translation, the state of the matrix is saved with push_matrix.
24
- $app.push_matrix
25
- # Rotate orbit
26
- $app.rotate @theta
27
- # translate out @distance
28
- $app.translate @distance, 0
29
- $app.stroke 0
30
- $app.fill 175
31
- $app.ellipse 0, 0, @diameter, @diameter
32
- # Once the planet is drawn, the matrix is restored with pop_matrix so that the next planet is not affected.
33
- $app.pop_matrix
34
- end
35
-
36
- end
37
-
38
-
39
- class ObjectOrientedSolarSystemSketch < Processing::App
40
-
41
- def setup
42
- smooth
43
- @planets = Array.new(8) { |i| Planet.new(20+i*10, i+8) }
44
- end
45
-
46
- def draw
47
- background 255
48
-
49
- # Drawing the Sun
50
- push_matrix
51
- # Translate to center of window
52
- translate width/2, height/2
53
- stroke 0
54
- fill 255
55
- ellipse 0, 0, 20, 20
56
-
57
- # Drawing all Planets
58
- @planets.each do |p|
59
- p.update
60
- p.display
61
- end
62
-
63
- pop_matrix
64
- end
65
-
66
- end
67
-
68
- ObjectOrientedSolarSystemSketch.new :title => "Object Oriented Solar System", :width => 200, :height => 200
69
-
@@ -1,20 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class HelloWorldImageSketch < Processing::App
4
-
5
- def setup
6
- # the image file must be in the data directory
7
- @img = load_image("mysummervacation.jpg")
8
- end
9
-
10
- def draw
11
- background 0
12
-
13
- #The image function displays the image at a location-in this case the point (0,0).
14
- image @img, 0, 0
15
- end
16
-
17
- end
18
-
19
- HelloWorldImageSketch.new :title => "Hello World Image", :width => 320, :height => 240
20
-
@@ -1,29 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class ImageSpriteSketch < Processing::App
4
-
5
- def setup
6
- @head = load_image("face.jpg") # variable for the image file
7
- @x, @y = 0, width/2 # variables for image location
8
- @rot = 0.0 # variable for image rotation
9
- end
10
-
11
- def draw
12
- background 255
13
-
14
- translate @x, @y
15
- rotate @rot
16
-
17
- # Images can be animated just like regular shapes using variables, translate, rotate, and so on.
18
- image @head, 0, 0
19
- # Adjust variables for animation
20
- @x += 1.0
21
- @rot += 0.02
22
- @x = -@head.width if @x > width + @head.width
23
- end
24
-
25
- end
26
-
27
- ImageSpriteSketch.new :title => "Image Sprite", :width => 200, :height => 200
28
-
29
-
@@ -1,25 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class SwappingImagesSketch < Processing::App
4
-
5
- def setup
6
- @index = 0
7
- @count = 7
8
- # loading the images into the array
9
- @images = (0...@count).map { |i| load_image("animal#{i}.jpg") }
10
- end
11
-
12
- def draw
13
- # displaying one images
14
- image @images[@index], 0, 0
15
- end
16
-
17
- def mouse_pressed
18
- # A new image is picked randomly when the mouse is clicked
19
- @index = rand(@images.size)
20
- end
21
-
22
- end
23
-
24
- SwappingImagesSketch.new :title => "Swapping Images", :width => 200, :height => 200
25
-
@@ -1,22 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class ImageSequence < Processing::App
4
-
5
- def setup
6
- @index = 0
7
- @count = 7
8
- # loading the images into the array
9
- @images = (0...@count).map { |i| load_image("animal#{i}.jpg") }
10
- frame_rate 5
11
- end
12
-
13
- def draw
14
- # displaying one images
15
- image @images[@index], 0, 0
16
- @index = (@index + 1) % @images.size
17
- end
18
-
19
- end
20
-
21
- ImageSequence.new :title => "Image Sequence", :width => 200, :height => 200
22
-
@@ -1,19 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class SettingPixelsSketch < Processing::App
4
-
5
- def setup
6
- # load the pixels array
7
- load_pixels
8
- background 0
9
- # loop through the pixels and set each one to a random greyscale color
10
- pixels.size.times { |i| pixels[i] = color(rand 255) }
11
- # update the pixels on screen
12
- update_pixels
13
- end
14
-
15
-
16
- end
17
-
18
- SettingPixelsSketch.new :title => "Setting Pixels", :width => 200, :height => 200
19
-
@@ -1,29 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class Pixels2dSketch < Processing::App
4
-
5
- def setup
6
- # load the pixels array
7
- load_pixels
8
- # Two loops allow us to visit every column (x) and every row (y).
9
- # Loop through every pixel column
10
- width.times do |x|
11
- # Loop through every pixel row
12
- height.times do |y|
13
- # Use the formula to find the 1D location
14
- # The location in the pixel array is calculated via our formula: 1D pixel location = x + y * width
15
- loc = x + y * width
16
- # We use the even-or-odd-ness of the column number (x) to determine whether the color should be black or white.
17
- pixels[loc] = (x % 2 == 0) ? color(255) : color(0)
18
- end
19
- end
20
- # update the pixels on screen
21
- update_pixels
22
- end
23
-
24
-
25
- end
26
-
27
- Pixels2dSketch.new :title => "Pixels 2d", :width => 200, :height => 200
28
-
29
-
@@ -1,40 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class ImagePixelsSketch < Processing::App
4
-
5
- def setup
6
- @image = load_image 'sunflower.jpg'
7
- end
8
-
9
- def draw
10
- # load the pixels array
11
- load_pixels
12
- # Two loops allow us to visit every column (x) and every row (y).
13
- # Loop through every pixel column
14
- width.times do |x|
15
- # Loop through every pixel row
16
- height.times do |y|
17
- # Use the formula to find the 1D location
18
- loc = x + y * width # The location in the pixel array is calculated via our formula: 1D pixel location = x + y * width
19
-
20
- # The functions red, green, and blue pull out the three color components from a pixel.
21
- r = red(@image.pixels[loc])
22
- g = green(@image.pixels[loc])
23
- b = blue(@image.pixels[loc])
24
-
25
- # Image Processing would go here
26
- # If we were to change the RGB values, we would do it here, before setting the pixel in the display window.
27
-
28
- # Set the display pixel to the image pixel
29
- pixels[loc] = color(r,g,b)
30
- end
31
- end
32
- # update the pixels on screen
33
- update_pixels
34
- end
35
-
36
- end
37
-
38
- ImagePixelsSketch.new :title => "Image Pixels", :width => 200, :height => 200
39
-
40
-
@@ -1,29 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class ImageBrightnessSketch < Processing::App
4
-
5
- def setup
6
- @image = load_image 'sunflower.jpg'
7
- # Let's grab the red, green and blue component of each pixel of the image to start with.
8
- @image_pixels = @image.pixels.map {|p| [red(p), green(p), blue(p)]}
9
- end
10
-
11
- def draw
12
- # We calculate a multiplier ranging from 0.0 to 8.0 based on mouseX position.
13
- # That multiplier changes the RGB value of each pixel.
14
- adjustment = (mouse_x.to_f / width) * 8.0
15
- load_pixels # load the pixels array
16
-
17
- # And here's a modified Ruby way to do the Java equivalent
18
- pixels.size.times do |i|
19
- pixels[i] = color(*@image_pixels[i].map {|rgb| rgb * adjustment })
20
- end
21
-
22
- update_pixels
23
- end
24
-
25
- end
26
-
27
- ImageBrightnessSketch.new :title => "Image Brightness", :width => 200, :height => 200
28
-
29
-