The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Image::Square - Crop and resize an image to create a square image

SYNOPSIS

  use Image::Square;

  # Create a new Image::Square object from an image file
  my $img = Image::Square->new('example.jpg');

  # Create a square image from the source image with default settings
  my $square_img = $img->square();

  # Create a square image of a specific size (e.g., 200x200 pixels)
  my $custom_size_square = $img->square(200);

  # Create a square image from a specific position (e.g., center)
  my $center_square = $img->square(0, 0.5);

DESCRIPTION

The Image::Square module provides a simple way to crop and resize an image to create a square image. This can be useful when you need to prepare images for applications that require square thumbnails or avatars.

ERROR HANDLING

Image::Square will croak if it detects a problem.

METHODS

new

  my $img = Image::Square->new('example.jpg');

Creates a new Image::Square object from an image file specified by the file path. The image file should be in a format supported by the GD module. Alternatively, a GD::Image object is accepted.

square

  my $square_img = $img->square($size, $pos);

Creates a square image from the source image. The method takes two optional parameters:

  • $size - The size of the output square image in pixels. If not provided or set to 0, the size will be determined based on the smaller dimension of the source image. (default: 0)

  • $pos - The position in the source image to create the square image from. This parameter accepts values between 0 and 1, where 0 represents the left or top edge, 0.5 represents the middle, and 1 represents the right or bottom edge. (default: 0.5)

The method returns a new GD::Image object that represents the square image.

AUTHOR

Ian Boddison <ian at boddison.com>

BUGS

Please report any bugs or feature requests to bug-image-square at rt.cpan.org, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=image-square. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Image::Square

You can also look for information at:

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by Ian Boddison.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.