Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions