Module: GD::Color

Defined in:
ext/gd/color.c

Class Method Summary collapse

Class Method Details

.rgb(r, g, b) ⇒ Object



35
36
37
38
39
40
41
# File 'ext/gd/color.c', line 35

static VALUE gd_color_rgb(VALUE self, VALUE r, VALUE g, VALUE b) {
  VALUE ary = rb_ary_new_capa(3);
  rb_ary_push(ary, r);
  rb_ary_push(ary, g);
  rb_ary_push(ary, b);
  return ary;
}

.rgba(vr, vg, vb, va) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'ext/gd/color.c', line 43

static VALUE gd_color_rgba(VALUE self, VALUE vr, VALUE vg, VALUE vb, VALUE va) {
    int r = NUM2INT(vr);
    int g = NUM2INT(vg);
    int b = NUM2INT(vb);
    int a = NUM2INT(va);

    if (a < 0) a = 0;
    if (a > 127) a = 127;   // GD usa 0=opaco, 127=transparente

    VALUE ary = rb_ary_new2(4);
    rb_ary_push(ary, INT2NUM(r));
    rb_ary_push(ary, INT2NUM(g));
    rb_ary_push(ary, INT2NUM(b));
    rb_ary_push(ary, INT2NUM(a));

    return ary;
}