Class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ColorInfo
- Inherits:
- 
      Object
      
        - Object
- Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ColorInfo
 
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/vision_v1p2beta1/classes.rb,
 generated/google/apis/vision_v1p2beta1/representations.rb,
 generated/google/apis/vision_v1p2beta1/representations.rb
Overview
Color information consists of RGB channels, score, and the fraction of the image that the color occupies in the image.
Instance Attribute Summary collapse
- 
  
    
      #color  ⇒ Google::Apis::VisionV1p2beta1::Color 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Represents a color in the RGBA color space. 
- 
  
    
      #pixel_fraction  ⇒ Float 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The fraction of pixels the color occupies in the image. 
- 
  
    
      #score  ⇒ Float 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Image-specific score for this color. 
Instance Method Summary collapse
- 
  
    
      #initialize(**args)  ⇒ GoogleCloudVisionV1p2beta1ColorInfo 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of GoogleCloudVisionV1p2beta1ColorInfo. 
- 
  
    
      #update!(**args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Update properties of this object. 
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ GoogleCloudVisionV1p2beta1ColorInfo
Returns a new instance of GoogleCloudVisionV1p2beta1ColorInfo
| 679 680 681 | # File 'generated/google/apis/vision_v1p2beta1/classes.rb', line 679 def initialize(**args) update!(**args) end | 
Instance Attribute Details
#color ⇒ Google::Apis::VisionV1p2beta1::Color
Represents a color in the RGBA color space. This representation is designed
for simplicity of conversion to/from color representations in various
languages over compactness; for example, the fields of this representation
can be trivially provided to the constructor of "java.awt.Color" in Java; it
can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
method in iOS; and, with just a little work, it can be easily formatted into
a CSS "rgba()" string in JavaScript, as well. Here are some examples:
Example (Java):
import com.google.type.Color;
// ...
public static java.awt.Color fromProto(Color protocolor) 
float alpha = protocolor.hasAlpha()
? protocolor.getAlpha().getValue()
: 1.0;
return new java.awt.Color(
protocolor.getRed(),
protocolor.getGreen(),
protocolor.getBlue(),
alpha);
public static Color toProto(java.awt.Color color) 
float red = (float) color.getRed();
float green = (float) color.getGreen();
float blue = (float) color.getBlue();
float denominator = 255.0;
Color.Builder resultBuilder =
Color
.newBuilder()
.setRed(red / denominator)
.setGreen(green / denominator)
.setBlue(blue / denominator);
int alpha = color.getAlpha();
if (alpha != 255)
result.setAlpha(
FloatValue
.newBuilder()
.setValue(((float) alpha) / denominator)
.build());
return resultBuilder.build();
// ...
Example (iOS / Obj-C):
// ...
static UIColor* fromProto(Color* protocolor) 
float red = [protocolor red];
float green = [protocolor green];
float blue = [protocolor blue];
FloatValue* alpha_wrapper = [protocolor alpha];
float alpha = 1.0;
if (alpha_wrapper != nil)
alpha = [alpha_wrapper value];
return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
static Color* toProto(UIColor* color) 
CGFloat red, green, blue, alpha;
if (![color getRed:&red green:&green blue:&blue alpha:&alpha])
return nil;
Color* result = [Color alloc] init];
[result setRed:red];
[result setGreen:green];
[result setBlue:blue];
if (alpha <= 0.9999)
[result setAlpha:floatWrapperWithValue(alpha)];
[result autorelease];
return result;
// ...
Example (JavaScript):
// ...
var protoToCssColor = function(rgb_color) 
var redFrac = rgb_color.red || 0.0;
var greenFrac = rgb_color.green || 0.0;
var blueFrac = rgb_color.blue || 0.0;
var red = Math.floor(redFrac * 255);
var green = Math.floor(greenFrac * 255);
var blue = Math.floor(blueFrac * 255);
if (!('alpha' in rgb_color))
return rgbToCssColor_(red, green, blue);
var alphaFrac = rgb_color.alpha.value || 0.0;
var rgbParams = [red, green, blue].join(',');
return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
;
var rgbToCssColor_ = function(red, green, blue) 
var rgbNumber = new Number((red << 16) | (green << 8) | blue);
var hexString = rgbNumber.toString(16);
var missingZeros = 6 - hexString.length;
var resultBuilder = ['#'];
for (var i = 0; i < missingZeros; i++)
resultBuilder.push('0');
resultBuilder.push(hexString);
return resultBuilder.join('');
;
// ...
Corresponds to the JSON property color
| 666 667 668 | # File 'generated/google/apis/vision_v1p2beta1/classes.rb', line 666 def color @color end | 
#pixel_fraction ⇒ Float
The fraction of pixels the color occupies in the image.
Value in range [0, 1].
Corresponds to the JSON property pixelFraction
| 672 673 674 | # File 'generated/google/apis/vision_v1p2beta1/classes.rb', line 672 def pixel_fraction @pixel_fraction end | 
#score ⇒ Float
Image-specific score for this color. Value in range [0, 1].
Corresponds to the JSON property score
| 677 678 679 | # File 'generated/google/apis/vision_v1p2beta1/classes.rb', line 677 def score @score end | 
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
| 684 685 686 687 688 | # File 'generated/google/apis/vision_v1p2beta1/classes.rb', line 684 def update!(**args) @color = args[:color] if args.key?(:color) @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction) @score = args[:score] if args.key?(:score) end |