1 class ResourcePicture < ActiveRecord::Base
4 has_many :panel_pictures
5 belongs_to :original_picture
7 def self.resize(data, dw, dh)
8 Magick::Image.from_blob(data).shift.resize(dw, dh)
11 #サイズの調整(limw,limhに必ず収まるように合わせる)
12 def self.fix_size_both(limw, limh, w, h)
38 "#{self.id}.#{self.dext}"
54 rimg.flip.flop.to_blob
58 '/resource_pictures/' + (subdir.to_s.empty? ? '' : subdir.to_s + '/' ) + filename
62 tw, th = ResourcePicture.fix_size_both(80, 80, rimg.columns, rimg.rows)
63 ResourcePicture.resize(rimg.to_blob, tw, th).to_blob
66 def self.store(img, original_picture)
68 resource_picture = ResourcePicture.new(
69 width: original_picture.width, height: original_picture.height,
70 ext: original_picture.ext, filesize: original_picture.filesize,
71 original_picture_id: original_picture.id
73 res = if resource_picture.save
74 if resource_picture.store(img)
89 PictureIO.resource_picture_io.put bindata, self.filename
90 PictureIO.resource_picture_io.class.subdirs.each do |d|
92 PictureIO.resource_picture_io.put(self.__send__(d, img), self.filename, d)
101 def restore(subdir = nil)
102 PictureIO.resource_picture_io.get self.filename, subdir