sudo apt-get -y install imagemagick sudo apt-get -y install libmagic-dev sudo apt-get -y install libmagickwand-dev
brew install imagemagick
# Gemfile gem 'mini_magick'
# Open an image from a website
image = MiniMagick::Image.open("https://s3.amazonaws.com/StartupStockPhotos/20140808_StartupStockPhotos/85.jpg")
# Get the Image's width
image.width # 4928
# Get the image's height
image.height #3264
image.resize "2048x1536"
# Now get the image's new width and height
p "Width is => #{image.width} and height is => #{image.height}"
image.path # temp path
image.write "public/uploads/test.jpg"
image.format "png" image.write "public/uploads/test.png"
image.combine_options do |i| i.resize "2048x1536" i.flip i.rotate "-45" i.blur "0x15" end image.write "public/uploads/blur.png" 
# Gemfile gem 'carrierwave' gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
bundle install
#app/uploaders/image_uploader.rb class ImageUploader < CarrierWave::Uploader::Base # Include RMagick or MiniMagick support: include CarrierWave::MiniMagick # Choose what kind of storage to use for this Uploader: storage :file # Override the directory where uploaded files will be stored. # This is a sensible default for uploaders that are meant to be mounted: def store_dir "uploads/images" end end
# app/uploaders/image_uploader.rb ... # Add a white list of extensions which are allowed to be uploaded. # For images you might use something like this: def extension_white_list %w(jpg jpeg png gif) end ...
# app/models/image.rb class Image include Mongoid::Document include Mongoid::Timestamps include Mongoid::Paranoia include Mongoid::Attributes::Dynamic include Rails.application.routes.url_helpers mount_uploader :media, ImageUploader, mount_on: :media_filename end
# app/uploaders/image_uploader.rb #..... process :resize_to_fill => [200, 200] process :convert => 'png' #.....
media = File.open("/Users/test/Desktop/image/jpg")
img = Image.new(:media => media)
img.save
# app/uploaders/image_uploader.rb #..... version :thumb do process :resize_to_fit => [100, 100] process :convert => 'jpg' end version :cover do process :resize_to_fit => [240, 180] process :convert => 'jpg' end #.....
img.media.versions[:thumb] # returns the thumb image instance img.media.versions[:cover] # returns the cover image instance
# app/uploaders/image_uploader/rb #.... version :cover, :if => :is_live? do process :resize_to_fit => [240, 180] process :convert => 'jpg' end def is_live?(img = nil) @is_live end def is_live=(value) @is_live = value end #....
img.media.is_live = true img.save img.media.recreate_versions! :cover
# lib/resque/image_queue.rb class ImageQueue @queue = :image_queue def self.perform(image_id) image = Image.find image_id img.media.is_live= true img.save img.media.recreate_versions! :cover end end
Resque.enqueue(ImageQueue, img.id.to_s)
gem 'carrierwave-imageoptimizer'
# app/uploaders/image_uploader.rd #..... include CarrierWave::ImageOptimizer process :optimize process :quality => 100 #....
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有