All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.vision.v1.model.Color Maven / Gradle / Ivy

There is a newer version: v1-rev20231219-2.0.0
Show newest version
/*
 * Copyright 2010 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/google/apis-client-generator/
 * (build: 2017-11-07 19:12:12 UTC)
 * on 2018-01-06 at 04:03:32 UTC 
 * Modify at your own risk.
 */

package com.google.api.services.vision.v1.model;

/**
 * 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: green: blue: 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('');     };
 *
 *     // ...
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Google Cloud Vision API. For a detailed explanation * see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class Color extends com.google.api.client.json.GenericJson { /** * The fraction of this color that should be applied to the pixel. That is, the final pixel color * is defined by the equation: * * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) * * This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds * to a completely transparent color. This uses a wrapper message rather than a simple float * scalar so that it is possible to distinguish between a default value and the value being unset. * If omitted, this color object is to be rendered as a solid color (as if the alpha value had * been explicitly given with a value of 1.0). * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Float alpha; /** * The amount of blue in the color as a value in the interval [0, 1]. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Float blue; /** * The amount of green in the color as a value in the interval [0, 1]. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Float green; /** * The amount of red in the color as a value in the interval [0, 1]. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Float red; /** * The fraction of this color that should be applied to the pixel. That is, the final pixel color * is defined by the equation: * * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) * * This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds * to a completely transparent color. This uses a wrapper message rather than a simple float * scalar so that it is possible to distinguish between a default value and the value being unset. * If omitted, this color object is to be rendered as a solid color (as if the alpha value had * been explicitly given with a value of 1.0). * @return value or {@code null} for none */ public java.lang.Float getAlpha() { return alpha; } /** * The fraction of this color that should be applied to the pixel. That is, the final pixel color * is defined by the equation: * * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) * * This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds * to a completely transparent color. This uses a wrapper message rather than a simple float * scalar so that it is possible to distinguish between a default value and the value being unset. * If omitted, this color object is to be rendered as a solid color (as if the alpha value had * been explicitly given with a value of 1.0). * @param alpha alpha or {@code null} for none */ public Color setAlpha(java.lang.Float alpha) { this.alpha = alpha; return this; } /** * The amount of blue in the color as a value in the interval [0, 1]. * @return value or {@code null} for none */ public java.lang.Float getBlue() { return blue; } /** * The amount of blue in the color as a value in the interval [0, 1]. * @param blue blue or {@code null} for none */ public Color setBlue(java.lang.Float blue) { this.blue = blue; return this; } /** * The amount of green in the color as a value in the interval [0, 1]. * @return value or {@code null} for none */ public java.lang.Float getGreen() { return green; } /** * The amount of green in the color as a value in the interval [0, 1]. * @param green green or {@code null} for none */ public Color setGreen(java.lang.Float green) { this.green = green; return this; } /** * The amount of red in the color as a value in the interval [0, 1]. * @return value or {@code null} for none */ public java.lang.Float getRed() { return red; } /** * The amount of red in the color as a value in the interval [0, 1]. * @param red red or {@code null} for none */ public Color setRed(java.lang.Float red) { this.red = red; return this; } @Override public Color set(String fieldName, Object value) { return (Color) super.set(fieldName, value); } @Override public Color clone() { return (Color) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy