lib/carrierwave/processing/rmagick.rb in carrierwave-0.8.0 vs lib/carrierwave/processing/rmagick.rb in carrierwave-0.9.0

- old
+ new

@@ -114,10 +114,11 @@ # # image.convert(:png) # def convert(format) manipulate!(:format => format) + @format = format end ## # Resize the image to fit within the specified dimensions while retaining # the original aspect ratio. Will only resize the image if it is larger than the @@ -212,11 +213,11 @@ # [Magick::Image] additional manipulations to perform # def resize_and_pad(width, height, background=:transparent, gravity=::Magick::CenterGravity) manipulate! do |img| img.resize_to_fit!(width, height) - new_img = ::Magick::Image.new(width, height) + new_img = ::Magick::Image.new(width, height) { self.background_color = 'rgba(255,255,255,0)' } if background == :transparent filled = new_img.matte_floodfill(1, 1) else filled = new_img.color_floodfill(1, 1, ::Magick::Pixel.from_color(background)) end @@ -331,17 +332,17 @@ frame = yield( *[frame, 0, options].take(block.arity) ) if block_given? frame end write_block = create_info_block(options[:write]) - if options[:format] - frames.write("#{options[:format]}:#{current_path}", &write_block) + if options[:format] || @format + frames.write("#{options[:format] || @format}:#{current_path}", &write_block) else frames.write(current_path, &write_block) end destroy_image(frames) rescue ::Magick::ImageMagickError => e - raise CarrierWave::ProcessingError, I18n.translate(:"errors.messages.rmagick_processing_error", :e => e) + raise CarrierWave::ProcessingError, I18n.translate(:"errors.messages.rmagick_processing_error", :e => e, :default => I18n.translate(:"errors.messages.rmagick_processing_error", :e => e, :locale => :en)) end private def create_info_block(options)