diff options
Diffstat (limited to 'perllib/FixMyStreet/App')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Photo.pm | 2 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Model/PhotoSet.pm | 18 |
2 files changed, 12 insertions, 8 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Photo.pm b/perllib/FixMyStreet/App/Controller/Photo.pm index 5507e3a94..3408d5e35 100644 --- a/perllib/FixMyStreet/App/Controller/Photo.pm +++ b/perllib/FixMyStreet/App/Controller/Photo.pm @@ -43,7 +43,7 @@ sub during :LocalRegex('^(temp|fulltemp)\.([0-9a-f]{40}\.(?:jpeg|png|gif|tiff))$ $c->forward( 'output', [ $photo ] ); } -sub index :LocalRegex('^(c/)?([1-9]\d*)(?:\.(\d+))?(?:\.(full|tn|fp))?\.(?:jpeg|png|gif|tiff)$') { +sub index :LocalRegex('^(c/)?([1-9]\d*)(?:\.(\d+))?(?:\.(full|tn|fp|og))?\.(?:jpeg|png|gif|tiff)$') { my ( $self, $c ) = @_; my ( $is_update, $id, $photo_number, $size ) = @{ $c->req->captures }; diff --git a/perllib/FixMyStreet/App/Model/PhotoSet.pm b/perllib/FixMyStreet/App/Model/PhotoSet.pm index c9f1c48a1..76a287e71 100644 --- a/perllib/FixMyStreet/App/Model/PhotoSet.pm +++ b/perllib/FixMyStreet/App/Model/PhotoSet.pm @@ -192,7 +192,6 @@ sub get_image_data { my $image = $self->get_raw_image( $num ) or return; - my $photo = $image->{data}; my $size = $args{size}; @@ -201,19 +200,24 @@ sub get_image_data { return $image; } - my $im = FixMyStreet::ImageMagick->new(blob => $photo); + my $im = FixMyStreet::ImageMagick->new(blob => $image->{data}); + my $photo; if ( $size eq 'tn' ) { - $photo = $im->shrink('x100')->as_blob; + $photo = $im->shrink('x100'); } elsif ( $size eq 'fp' ) { - $photo = $im->crop->as_blob; + $photo = $im->crop; + } elsif ( $size eq 'og' ) { + $photo = $im->crop('1200x630'); } elsif ( $size eq 'full' ) { - # do nothing + $photo = $im } else { - $photo = $im->shrink($args{default} || '250x250')->as_blob; + $photo = $im->shrink($args{default} || '250x250'); } return { - data => $photo, + data => $photo->as_blob, + width => $photo->width, + height => $photo->height, content_type => $image->{content_type}, }; } |