- $filters{nearest_color} ={
- callseq => ['image', 'xo', 'yo', 'colors', 'dist'],
- defaults => { },
- callsub => sub { my %hsh=@_; i_nearest_color($hsh{image}, $hsh{xo}, $hsh{yo}, $hsh{colors}, $hsh{dist}); }
- };
+ $filters{nearest_color} =
+ {
+ callseq => ['image', 'xo', 'yo', 'colors', 'dist'],
+ defaults => { },
+ callsub =>
+ sub {
+ my %hsh=@_;
+ # make sure the segments are specified with colors
+ my @colors;
+ for my $color (@{$hsh{colors}}) {
+ my $new_color = _color($color)
+ or die $Imager::ERRSTR."\n";
+ push @colors, $new_color;
+ }
+
+ i_nearest_color($hsh{image}, $hsh{xo}, $hsh{yo}, \@colors,
+ $hsh{dist})
+ or die Imager->_error_as_msg() . "\n";
+ },
+ };