Class: Rubyvis::Color

Inherits:
Object show all
Defined in:
lib/rubyvis/color/color.rb

Overview

Represents an abstract (possibly translucent) color. The color is divided into two parts: the color attribute, an opaque color format string, and the opacity attribute, a float in [0, 1]. The color space is dependent on the implementing class; all colors support the Color.rgb() method to convert to RGB color space for interpolation.

Direct Known Subclasses

Hsl, Rgb

Defined Under Namespace

Classes: Hsl, Rgb

Constant Summary collapse

NAMES =

Association between names and colors

{
  :aliceblue=>"#f0f8ff",
  :antiquewhite=>"#faebd7",
  :aqua=>"#00ffff",
  :aquamarine=>"#7fffd4",
  :azure=>"#f0ffff",
  :beige=>"#f5f5dc",
  :bisque=>"#ffe4c4",
  :black=>"#000000",
  :blanchedalmond=>"#ffebcd",
  :blue=>"#0000ff",
  :blueviolet=>"#8a2be2",
  :brown=>"#a52a2a",
  :burlywood=>"#deb887",
  :cadetblue=>"#5f9ea0",
  :chartreuse=>"#7fff00",
  :chocolate=>"#d2691e",
  :coral=>"#ff7f50",
  :cornflowerblue=>"#6495ed",
  :cornsilk=>"#fff8dc",
  :crimson=>"#dc143c",
  :cyan=>"#00ffff",
  :darkblue=>"#00008b",
  :darkcyan=>"#008b8b",
  :darkgoldenrod=>"#b8860b",
  :darkgray=>"#a9a9a9",
  :darkgreen=>"#006400",
  :darkgrey=>"#a9a9a9",
  :darkkhaki=>"#bdb76b",
  :darkmagenta=>"#8b008b",
  :darkolivegreen=>"#556b2f",
  :darkorange=>"#ff8c00",
  :darkorchid=>"#9932cc",
  :darkred=>"#8b0000",
  :darksalmon=>"#e9967a",
  :darkseagreen=>"#8fbc8f",
  :darkslateblue=>"#483d8b",
  :darkslategray=>"#2f4f4f",
  :darkslategrey=>"#2f4f4f",
  :darkturquoise=>"#00ced1",
  :darkviolet=>"#9400d3",
  :deeppink=>"#ff1493",
  :deepskyblue=>"#00bfff",
  :dimgray=>"#696969",
  :dimgrey=>"#696969",
  :dodgerblue=>"#1e90ff",
  :firebrick=>"#b22222",
  :floralwhite=>"#fffaf0",
  :forestgreen=>"#228b22",
  :fuchsia=>"#ff00ff",
  :gainsboro=>"#dcdcdc",
  :ghostwhite=>"#f8f8ff",
  :gold=>"#ffd700",
  :goldenrod=>"#daa520",
  :gray=>"#808080",
  :green=>"#008000",
  :greenyellow=>"#adff2f",
  :grey=>"#808080",
  :honeydew=>"#f0fff0",
  :hotpink=>"#ff69b4",
  :indianred=>"#cd5c5c",
  :indigo=>"#4b0082",
  :ivory=>"#fffff0",
  :khaki=>"#f0e68c",
  :lavender=>"#e6e6fa",
  :lavenderblush=>"#fff0f5",
  :lawngreen=>"#7cfc00",
  :lemonchiffon=>"#fffacd",
  :lightblue=>"#add8e6",
  :lightcoral=>"#f08080",
  :lightcyan=>"#e0ffff",
  :lightgoldenrodyellow=>"#fafad2",
  :lightgray=>"#d3d3d3",
  :lightgreen=>"#90ee90",
  :lightgrey=>"#d3d3d3",
  :lightpink=>"#ffb6c1",
  :lightsalmon=>"#ffa07a",
  :lightseagreen=>"#20b2aa",
  :lightskyblue=>"#87cefa",
  :lightslategray=>"#778899",
  :lightslategrey=>"#778899",
  :lightsteelblue=>"#b0c4de",
  :lightyellow=>"#ffffe0",
  :lime=>"#00ff00",
  :limegreen=>"#32cd32",
  :linen=>"#faf0e6",
  :magenta=>"#ff00ff",
  :maroon=>"#800000",
  :mediumaquamarine=>"#66cdaa",
  :mediumblue=>"#0000cd",
  :mediumorchid=>"#ba55d3",
  :mediumpurple=>"#9370db",
  :mediumseagreen=>"#3cb371",
  :mediumslateblue=>"#7b68ee",
  :mediumspringgreen=>"#00fa9a",
  :mediumturquoise=>"#48d1cc",
  :mediumvioletred=>"#c71585",
  :midnightblue=>"#191970",
  :mintcream=>"#f5fffa",
  :mistyrose=>"#ffe4e1",
  :moccasin=>"#ffe4b5",
  :navajowhite=>"#ffdead",
  :navy=>"#000080",
  :oldlace=>"#fdf5e6",
  :olive=>"#808000",
  :olivedrab=>"#6b8e23",
  :orange=>"#ffa500",
  :orangered=>"#ff4500",
  :orchid=>"#da70d6",
  :palegoldenrod=>"#eee8aa",
  :palegreen=>"#98fb98",
  :paleturquoise=>"#afeeee",
  :palevioletred=>"#db7093",
  :papayawhip=>"#ffefd5",
  :peachpuff=>"#ffdab9",
  :peru=>"#cd853f",
  :pink=>"#ffc0cb",
  :plum=>"#dda0dd",
  :powderblue=>"#b0e0e6",
  :purple=>"#800080",
  :red=>"#ff0000",
  :rosybrown=>"#bc8f8f",
  :royalblue=>"#4169e1",
  :saddlebrown=>"#8b4513",
  :salmon=>"#fa8072",
  :sandybrown=>"#f4a460",
  :seagreen=>"#2e8b57",
  :seashell=>"#fff5ee",
  :sienna=>"#a0522d",
  :silver=>"#c0c0c0",
  :skyblue=>"#87ceeb",
  :slateblue=>"#6a5acd",
  :slategray=>"#708090",
  :slategrey=>"#708090",
  :snow=>"#fffafa",
  :springgreen=>"#00ff7f",
  :steelblue=>"#4682b4",
  :tan=>"#d2b48c",
  :teal=>"#008080",
  :thistle=>"#d8bfd8",
  :tomato=>"#ff6347",
  :turquoise=>"#40e0d0",
  :violet=>"#ee82ee",
  :wheat=>"#f5deb3",
  :white=>"#ffffff",
  :whitesmoke=>"#f5f5f5",
  :yellow=>"#ffff00",
  :yellowgreen=>"#9acd32",
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(color, opacity) ⇒ Color

Constructs a color with the specified color format string and opacity. This constructor should not be invoked directly; use Rubyvis.color instead.



251
252
253
254
# File 'lib/rubyvis/color/color.rb', line 251

def initialize(color,opacity)
  @color=color
  @opacity=opacity
end

Instance Attribute Details

#colorObject (readonly)

An opaque color format string, such as “#f00”.



245
246
247
# File 'lib/rubyvis/color/color.rb', line 245

def color
  @color
end

#opacityObject (readonly)

The opacity, a float in [0, 1].



247
248
249
# File 'lib/rubyvis/color/color.rb', line 247

def opacity
  @opacity
end

Class Method Details

.transparentObject



276
277
278
# File 'lib/rubyvis/color/color.rb', line 276

def self.transparent
  Rubyvis.rgb(0,0,0,0)
end

Instance Method Details

#brighter(k) ⇒ Object

Returns a new color that is a brighter version of this color. The behavior of this method may vary slightly depending on the underlying color space. Although brighter and darker are inverse operations, the results of a series of invocations of these two methods might be inconsistent because of rounding errors.

  • @param [k] number an optional scale factor; defaults to 1.



261
262
263
# File 'lib/rubyvis/color/color.rb', line 261

def brighter(k)
  self.rgb.brighter(k)
end

#darker(k) ⇒ Object

Returns a new color that is a brighter version of this color. The behavior of this method may vary slightly depending on the underlying color space. Although brighter and darker are inverse operations, the results of a series of invocations of these two methods might be inconsistent because of rounding errors.

  • @param [k] number an optional scale factor; defaults to 1.



272
273
274
# File 'lib/rubyvis/color/color.rb', line 272

def darker(k)
  self.rgb.darker(k)
end