Skip to content

Thumbnail gif file with crop: :centre always creates 1 scene gif #344

@andreyruby

Description

@andreyruby

Describe the bug

Vips::Image.thumbnail("filename.gif[n=-1]", 200, height: 200, crop: :centre) with animated GIF file saves static file with 1 scene only.

Without crop: :centre it saves animated file correctly

I used file https://i.pinimg.com/originals/96/50/f0/9650f01cd3334952b075f8cf55bedd60.gif for testing

To Reproduce
Steps to reproduce the behavior:
Run ruby script

# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  git_source(:github) { |repo| "https://github.com/#{repo}.git" }

  gem "ruby-vips"
  gem 'down'
end

GLib::logger.level = Logger::DEBUG

tempfile = Down.download("https://i.pinimg.com/originals/96/50/f0/9650f01cd3334952b075f8cf55bedd60.gif")

resized_image = Vips::Image.thumbnail("#{tempfile.path}[n=-1]", 400, height: 400, crop: :centre)
resized_image.write_to_file "/tmp/rabbit-with-crop.gif"
`browse /tmp/rabbit-with-crop.gif`

Expected behavior
File must be animated with all scenes cropped

Additional context
I have libvips 8.13rc1 compiled with cgif

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions