ruby on rails 之图片压缩
图片压缩,这个功能基本上每个网站都会去做一下。要不然,就有那样不按套路出牌的人给你去捣乱。
运行环境,同上一篇。
1.papercliper
2.p_w_picpathMagick
同样是papercliper 插接。然后还要加一个p_w_picpathMagick图片处理工具。意思就很明显了,papercliper 是调用的 p_w_picpathMagick的方法进行的图片压缩。
p_w_picpathMagick的安装只要到google上面搜索一下就会出现一大堆。所以我就不多说了。
下面具体说一下papercliper 是怎么压缩上传的图片的。
在papercliper配置完成之后都会写这样一段代码:
- has_attached_file :res,
- :storage => :filesystem,
- :styles => {:normal => '300x300>',:medium => '250x250',:thumb => '100x100#'}
上传的图片会放到public/system下。
下面是重点,看一下大概的压缩方式,不过在看之前有点要注意一下,p_w_picpathMagick这个工具有一点我不太明白,它只支持jpg的文件压缩。(各位看官有什么其余的想法不妨说出来,大家讨论一下。)
所以,在上传图片的同时要对图像文件进行转换,给强制转换成jpg文件。
举个例子:
用过的人都知道原图的存储文件是original,如果我只想对原图进行压缩,其余的图片不想进行压缩,那么要这样写:
- has_attached_file :res,
- :storage => :filesystem,
- :styles => { :original=>['',:jpg],:normal => '300x300>',:medium => '250x250',:thumb => '100x100#'}
跟上面代码不同的地方是,在这里的:styles 内加上了 :original=>['',:jpg],意思是将原图进行转换。转换为jpg格式后再进行压缩。
最后写上最重要的一句,papercliper调用p_w_picpathMagick的压缩方法。
- has_attached_file :res,
- :storage => :filesystem,
- :styles => { :original=>['',:jpg],:normal => '300x300>',:medium => '250x250',:thumb => '100x100#'},
- :convert_options => { :original => "-quality 10" }
到这里,就完成了。其中-quality 10 这个参数代表的意思是更改源文件的品质为多少。
之前尝试过,如果是 10 的话 可以将1.9M左右的图片压缩成70多K的jpg图片。
以此类推,就很好写了。
到这里所有的设置就完成了,赶快去试一下吧。
转载于:https://blog.51cto.com/douchunrong/1075291
ruby on rails 之图片压缩相关推荐
- 视频教程-Ruby on Rails打造企业级RESTful API项目实战我的云音乐-Ruby/Rails
Ruby on Rails打造企业级RESTful API项目实战我的云音乐 任苹蜻,爱学啊创始人 & CEO,曾就职于某二车手公司担任Android工程师后离职创办爱学啊,我们的宗旨是:人生 ...
- Ruby on Rails的下载及安装以及开发环境的搭建
要基于ruby开发应用程序,我们必须安装ruby.gem.rails.mongrel. 第一,到官方网站上下载最新的Ruby One-Click Installer版本(已经自带了RubyGems,一 ...
- netbeans下开发rails快捷键 及 Ruby On Rails开发技巧总结
在controller和view直接跳转 - Ctrl + Shift + A 在controller/model和test/spec之间跳转 - Ctrl + Shift + T 直接跳转到类和方法 ...
- [转载] Ruby、Rails、Agile的启示
转自:http://vipnews.csdn.net/newscontent.aspx?pointid=2008_03_03_170600555 文/杨祥吉 本文作者以使用Ruby和Rails进行创业 ...
- 各种 PNG图片压缩对比分析
背景与现状 随着版本的迭代,业务的增加,QQ音乐apk的大小已经超过25M,其中res目录占用的大小超过5.5M,所以提出了对安装包进行瘦身的技术需求.业务的增加导致图片越来越多,通过分析可以知道PN ...
- Status Ruby on Rails in China - Presentation Transcript
Slide 1: 铁道中文应用开发现状综述 2008年8月 制作发布:铁道播客 BD7LX 深圳 http://rorcast.blogger2blogger.com/ 铁道中文应用开发现状综述 20 ...
- Ubuntu 10.10下搭建ror(ruby on rails)开发环境
1. 修改软件源,最好为main server. system=>系统管理=>更新管理器=>设置=>软件源 2. sudo apt-get update (更新下载源) 3 ...
- [rails] 我的订餐系统 -- 小试ruby on rails(转)
前言 近期在java社区中一种新的脚本语言ruby,及用ruby开发的一个wab框架 rails也热闹了起来.引起了不少的java开发人员的关注. 本人平时还是很少接触脚本语言方面东东 ...
- ruby on rails_我成为了Ruby on Rails和React的贡献者,你也可以
ruby on rails I am really grateful to have contributed to a few open source projects, including two ...
最新文章
- 阿里亲制明信片,字节、百度直接发锅……这些公司的新年礼盒越来越会玩~
- cnn 预测过程代码_FPN的Tensorflow代码详解——特征提取
- 决策树结合网格搜索交叉验证的例子
- eclipse类文件无法找到_「Revit技巧」新建项目和族时无法找到样板文件(丢失)?...
- myisam和innodb到底谁更快
- 限制ul显示高度_led显示屏钢结构吊装方案原则及适用条件
- 使用手机模拟器与android操作系统
- php错误日志框架,错误与日志 - Laravel - 为 WEB 艺术家创造的 PHP 框架。
- 网络学习(六)Windows XP系统之ghost安装
- redis实现订单过期取消
- MongoDB最佳实践
- 分区供水条件口诀_分区供水高频考点,收藏哦
- json html api文档,插件 jQuery.jsonview 中文 API 文档
- IMDB TOP 250 电影榜单
- 最新的ESD(ElectroStatic Discharge)静电介绍及其标准下载(见文尾)
- 关于 Android Studio 鼠标中键的一些技巧
- 【VS Code】Windows10下VS Code配置Ruby语言环境
- 群晖download station中添加BT搜索引擎
- SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
- ACM Uva10763 交换学生
热门文章
- ckeditor 图片上传_开发问题:Django使用ckeditor上传到七牛云
- html如何把上边角做成椭圆,使用css3的border-radius和border制作半圆、三角、椭圆等各种图形...
- oracle查看视图数据,查看oracle 10g 视图-数据库专栏,ORACLE
- matlab实验与系统信号实验二,信号与系统上机实验-matlab(第一第二次实验课)new
- 五环 html css,CSS + radius 五环
- groovy 和 java的区别_Groovy和JAVA的区别
- jQuery+CSS动态改变class
- 报错,Unknown custom element: <DeviceVendorStatistics> - did you register the component correctly? For
- 2020年Java实训项目【GUI学生信息管理系统】目录
- SSM框架笔记09:初探Spring——采用Java配置方式