452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
|
# File 'lib/gallery_sync/gallery_sync.rb', line 452
def self.scale_image(image)
r = {}
magick_image = Magick::Image.from_blob(image).first
magick_image.auto_orient!
r[:thumb] = magick_image.change_geometry('100x100^') { |w,h,img|
resized = img.resize(w,h)
if(w > h)
resized.crop((w-h)/2,0,h,h)
else
resized.crop(0,0,w,w)
end
}.strip!.to_blob {
self.quality = 80
}
r[:medium] = magick_image.change_geometry('460x460') { |cols, rows, img|
img.resize(cols, rows)
}.to_blob { self.quality = 85 }
r[:full] = image
return r
end
|