klaus_harrer
25.04.2004, 10:11
Hallo
Ich habe mein erstes Gimp Perl Script geschrieben. Würde gerne eure Meinung hören, ob es überhaupt brauchbar ist oder ob man es noch verbessern könnte.
#!/usr/bin/perl -w
use Gimp ":auto";
use Gimp::Fu;
sub create_grunge_text{
my ($img, $layer, $text, $font, $color, $x_pos, $y_pos, $plasma) = @_;
$img->gimp_image_undo_group_start;
my $border = 10;
my ($size) = ($text=~ /(\d+)/);
#Generate a text layer
my $text_layer = gimp_text_fontname($img, -1, $x_pos, $y_pos, $font, $border, 1, $size, POINTS, $text);
#select the text
Gimp->gimp_selection_layer_alpha($text_layer);
# Set foreground color
Gimp->gimp_palette_set_foreground($color);
#fill the Text with foreground color
Gimp->gimp_edit_fill($text_layer, 0);
Gimp->script_fu_distress_selection($img, $text_layer, 127, 8, 1, 2, 1, 1);
Gimp->gimp_selection_invert($img);
Gimp->gimp_edit_cut($text_layer);
my $mask = Gimp->gimp_layer_create_mask($text_layer, ADD_WHITE_MASK);
Gimp->plug_in_plasma($img, $mask, 1, $plasma);
Gimp->gimp_layer_add_mask($text_layer, $mask);
$img->gimp_image_undo_group_end;
return();
}
register
"grunge_layer", #fill in name
"create a dirty Text", #a small description
"Help", #a help text
"Klaus Harrer", #my name
"Klaus Harrer (c)", #copyright
"2004-04-06", #date
"<Image>/Filters/Text/Grunge_Text...", #menu path
"*", #Images types
[
[PF_FONT, "font", "font", "Utopia Bold Italic 60"],
[PF_STRING, "text", "input text", "Grunge"],
[PF_COLOR, "color", "text color", [118,98,66]],
[PF_INT, "x_pos", "x position", 0],
[PF_INT, "y_pos", "y position", 0],
[PF_SLIDER, "plasma", "visible", 4.5, [0.1, 7.0, 0.1]],
],
\&create_grunge_text;
Gimp::set_trace(TRACE_ALL);
exit main();
Das Script funktioniert unter Gimp-2.0. Und du kannst es mit gimptool-2.0 installieren.
MfG
Klaus
Ich habe mein erstes Gimp Perl Script geschrieben. Würde gerne eure Meinung hören, ob es überhaupt brauchbar ist oder ob man es noch verbessern könnte.
#!/usr/bin/perl -w
use Gimp ":auto";
use Gimp::Fu;
sub create_grunge_text{
my ($img, $layer, $text, $font, $color, $x_pos, $y_pos, $plasma) = @_;
$img->gimp_image_undo_group_start;
my $border = 10;
my ($size) = ($text=~ /(\d+)/);
#Generate a text layer
my $text_layer = gimp_text_fontname($img, -1, $x_pos, $y_pos, $font, $border, 1, $size, POINTS, $text);
#select the text
Gimp->gimp_selection_layer_alpha($text_layer);
# Set foreground color
Gimp->gimp_palette_set_foreground($color);
#fill the Text with foreground color
Gimp->gimp_edit_fill($text_layer, 0);
Gimp->script_fu_distress_selection($img, $text_layer, 127, 8, 1, 2, 1, 1);
Gimp->gimp_selection_invert($img);
Gimp->gimp_edit_cut($text_layer);
my $mask = Gimp->gimp_layer_create_mask($text_layer, ADD_WHITE_MASK);
Gimp->plug_in_plasma($img, $mask, 1, $plasma);
Gimp->gimp_layer_add_mask($text_layer, $mask);
$img->gimp_image_undo_group_end;
return();
}
register
"grunge_layer", #fill in name
"create a dirty Text", #a small description
"Help", #a help text
"Klaus Harrer", #my name
"Klaus Harrer (c)", #copyright
"2004-04-06", #date
"<Image>/Filters/Text/Grunge_Text...", #menu path
"*", #Images types
[
[PF_FONT, "font", "font", "Utopia Bold Italic 60"],
[PF_STRING, "text", "input text", "Grunge"],
[PF_COLOR, "color", "text color", [118,98,66]],
[PF_INT, "x_pos", "x position", 0],
[PF_INT, "y_pos", "y position", 0],
[PF_SLIDER, "plasma", "visible", 4.5, [0.1, 7.0, 0.1]],
],
\&create_grunge_text;
Gimp::set_trace(TRACE_ALL);
exit main();
Das Script funktioniert unter Gimp-2.0. Und du kannst es mit gimptool-2.0 installieren.
MfG
Klaus