Module: GD::Color

Defined in:
ext/gd/color.c

Class Method Summary collapse

Class Method Details

.rgb(r, g, b) ⇒ Object



23
24
25
26
27
28
29
# File 'ext/gd/color.c', line 23

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



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'ext/gd/color.c', line 31

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;
}