view release on metacpan or search on metacpan
exactly.
* max_sprite_height [ = 2000 ]
Specify max height of sprite.
* margin [ = 0 ]
Add margin to each image.
* transparent_color [ = undef ]
Set transparent color for image, for example: 'white', 'black', ....
* is_background [ = 0 ]
If is_background flag is '0' will be generated CSS rule such as:
'width:XXXpx;height:YYYpx;'.
* layout [ = 'packed' ]
Specify layout algorithm (horizontal, vertical or packed).
examples/config.xml view on Meta::CPAN
<global_opts>
<!--
<image_quality>90</image_quality>
<max_image_size>65536</max_image_size>
<max_image_width>1536</max_image_width>
<max_image_height>1024</max_image_height>
<max_sprite_width>1536</max_sprite_width>
<max_sprite_height>1024</max_sprite_height>
<margin>0</margin>
<transparent_color></transparent_color>
<is_background>0</is_background>
<layout>packed</layout>
<css_selector_prefix>.spr-</css_selector_prefix>
<css_url_prefix>/sprite/</css_url_prefix>
<is_add_timestamp>1</is_add_timestamp>
-->
</global_opts>
<sprites>
<sprite file="sprite.png">
lib/CSS/SpriteBuilder.pm view on Meta::CPAN
source_dir => undef,
output_dir => undef,
image_quality => DEF_IMAGE_QUALITY,
max_image_size => DEF_MAX_IMAGE_SIZE,
max_image_width => DEF_MAX_IMAGE_WIDTH,
max_image_height => DEF_MAX_IMAGE_HEIGHT,
max_sprite_width => DEF_MAX_SPRITE_WIDTH,
max_sprite_height => DEF_MAX_SPRITE_HEIGHT,
margin => DEF_MARGIN,
transparent_color => undef,
is_background => 0,
layout => DEF_LAYOUT,
css_selector_prefix => DEF_CSS_SELECTOR_PREFIX,
css_url_prefix => '',
is_add_timestamp => 1,
_sprites => {},
@args,
}, $class;
lib/CSS/SpriteBuilder.pm view on Meta::CPAN
Opera 9.0 and below have a bug which affects CSS background offsets less than -2042px. All values less than this are treated as -2042px exactly.
=item * B<max_sprite_height> [ = 2000 ]
Specify max height of sprite.
=item * B<margin> [ = 0 ]
Add margin to each image.
=item * B<transparent_color> [ = undef ]
Set transparent color for image, for example: 'white', 'black', ....
=item * B<is_background> [ = 0 ]
If B<is_background> flag is '0' will be generated CSS rule such as: 'width:XXXpx;height:YYYpx;'.
=item * B<layout> [ = 'packed' ]
Specify layout algorithm (horizontal, vertical or packed).
=item * B<css_selector_prefix> [ = '.spr-' ]
lib/CSS/SpriteBuilder/Constants.pm view on Meta::CPAN
use constant SPRITE_OPTS => [qw/
source_dir
image_quality
max_image_size
max_image_width
max_image_height
max_sprite_width
max_sprite_height
margin
transparent_color
is_background
layout
css_selector_prefix
css_url_prefix
is_add_timestamp
/];
use constant IMAGE_OPTS => [qw/
is_background
is_repeat
lib/CSS/SpriteBuilder/ImageDriver/Common.pm view on Meta::CPAN
=back
=head2 reset([<image>])
Make a blank image.
When B<image> parameter is specified than assign the initial value as B<image>.
=back
=head2 set_transparent_color(<color>)
$image->set_transparent_color('white');
Set transparent color.
=back
=head2 set_quality(<0..100>)
Set image qualit (for JPEG only).
=back
=head2 read(<filename>)
lib/CSS/SpriteBuilder/ImageDriver/Common.pm view on Meta::CPAN
sub is_blank { $_[0]->width() ? 0 : 1 }
sub reset {
my ($self, $image) = @_;
# Nothing
return;
}
sub set_transparent_color {
my ($self, $color) = @_;
# Nothing
return;
}
sub set_quality {
my ($self, $quality) = @_;
lib/CSS/SpriteBuilder/ImageDriver/GD.pm view on Meta::CPAN
print $fh $data;
close $fh or die "Failed to close file '$filename' due: $!";
}
else {
die "Unknown extension of the file '$filename'";
}
return;
}
sub set_transparent_color {
my ($self, $color) = @_;
return unless $self->{_image};
my $rgb = $COLOR_MAP{ lc $color } or die "Unknown color '$color'";
my $index = $self->{_image}->colorClosest(@$rgb);
$self->{_image}->transparent($index);
return;
}
sub extent {
my ($self, $width, $height) = @_;
my $old_image = $self->{_image};
my $new_image = GD::Image->new($width, $height, 1);
lib/CSS/SpriteBuilder/ImageDriver/ImageMagick.pm view on Meta::CPAN
if ( $self->{_quality} && $filename =~ /\.jpg$/i ) {
$self->{_image}->Set( quality => $self->{_quality} );
}
my $error = $self->{_image}->Write($filename);
die "Failed to write image to '$filename' due: $error" if $error;
return;
}
sub set_transparent_color {
my ($self, $color) = @_;
$self->{_image}->Transparent(color => $color);
return;
}
sub extent {
my ($self, $width, $height) = @_;
lib/CSS/SpriteBuilder/Sprite.pm view on Meta::CPAN
source_images => undef,
target_file => undef,
image_quality => DEF_IMAGE_QUALITY,
max_image_size => DEF_MAX_IMAGE_SIZE,
max_image_width => DEF_MAX_IMAGE_WIDTH,
max_image_height => DEF_MAX_IMAGE_HEIGHT,
max_sprite_width => DEF_MAX_SPRITE_WIDTH,
max_sprite_height => DEF_MAX_SPRITE_HEIGHT,
margin => DEF_MARGIN,
transparent_color => undef,
is_background => 0,
layout => DEF_LAYOUT,
css_selector_prefix => DEF_CSS_SELECTOR_PREFIX,
css_url_prefix => '',
is_add_timestamp => 1,
_sprite_no => 1,
_repeated_images => [],
_sprites => {},
_x => 0,
lib/CSS/SpriteBuilder/Sprite.pm view on Meta::CPAN
return;
}
sub write {
my ($self) = @_;
return if $self->is_blank();
$self->process_repeated_images();
$self->set_transparent_color( $self->{transparent_color} )
if $self->{transparent_color};
$self->set_quality( $self->{image_quality} );
$self->SUPER::write( $self->target_file() );
$self->{_sprite_no}++;
$self->reset();
return;