Esempio n. 1
0
def make_gradient(palette, num_segments, num_colors):
    gradient = Gimp.gradient_new(palette)

    if (num_segments > 1):
        Gimp.gradient_segment_range_split_uniform(gradient, 0, -1,
                                                  num_segments)

    for color_number in range(0, num_segments):
        if color_number == num_colors - 1:
            color_number_next = 0
        else:
            color_number_next = color_number + 1
        _, color_left = Gimp.palette_entry_get_color(palette, color_number)
        _, color_right = Gimp.palette_entry_get_color(palette,
                                                      color_number_next)
        Gimp.gradient_segment_set_left_color(gradient, color_number,
                                             color_left, 100.0)
        Gimp.gradient_segment_set_right_color(gradient, color_number,
                                              color_right, 100.0)
    Gimp.context_set_gradient(gradient)
    retval = [
        Gimp.param_from_status(Gimp.PDBStatusType.SUCCESS),
        Gimp.param_from_string(gradient)
    ]
    return len(retval), retval
Esempio n. 2
0
def make_gradient(palette, num_segments, num_colors):
    gradient = Gimp.gradient_new(palette)

    if (num_segments > 1):
        Gimp.gradient_segment_range_split_uniform(gradient, 0, -1,
                                                  num_segments)

    for color_number in range(0, num_segments):
        if color_number == num_colors - 1:
            color_number_next = 0
        else:
            color_number_next = color_number + 1
        _, color_left = Gimp.palette_entry_get_color(palette, color_number)
        _, color_right = Gimp.palette_entry_get_color(palette,
                                                      color_number_next)
        Gimp.gradient_segment_set_left_color(gradient, color_number,
                                             color_left, 100.0)
        Gimp.gradient_segment_set_right_color(gradient, color_number,
                                              color_right, 100.0)
    Gimp.context_set_gradient(gradient)
    return gradient