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 ...
最新文章
- oracle一条sql的执行过程,请问执行一条sql的整个过程是怎样的,谢谢!
- BringWindowToTop(), SetForegroundWindow(), SetActiveWindow()
- Java中方法签名signature、方法重载以及“两同两小一大”的方法覆盖(方法重写)总结
- nohup: 忽略输入重定向错误到标准输出端_Linux 重定向与管道
- css版式_第2部分:使版式具有响应能力,并为以后的版本奠定基础
- 风林火山win11 64位官方版iso镜像v2021.07
- 微软:今年要让Office 2007寿终正寝
- Linux——好用的一些命令(一)(保持更新)
- Linux Vim三种工作模式(命令模式、输入模式和编辑模式)详解
- 【图像融合】自适应参考图像的可见光与热红外彩色图像融合算法
- pip 安装 pytorch环境
- 查找算法之二 二分查找(C++版本)
- 《LeetCode刷题C/C++版答案》pdf出炉,白瞟党乐坏了
- android wifi 抓sniffer log
- 极速office如何插入超链接
- 支付宝支付接口的使用
- 光电特性传感器实验台
- 图片文件损坏如何修复?只需这样操作
- 计算机桌面清理用于什么,C盘哪些文件可以删除?电脑C盘满了清理瘦身技巧
- IndexError: The shape of the mask [32, 8732] at index 0does not match the shape of the indexed tenso
热门文章
- mysql分组后再分组_全网最全的mysql分组后取topN的解答
- 8.Java 面试题整理(J2EE,MVC方面)
- 安卓学习笔记03:安卓应用目录结构
- Python学习笔记:创建进程
- 石子合并问题(内含BZOJ3229 AC代码)
- java中nio流_Java输入输出流IO介绍(与NIO比较)
- usaco题思考记录
- 江苏省计算机一级题库软件百度云,江苏省计算机一级B题库11
- MySQL中有exists关键字吗_Mysql中EXISTS关键字用法、总结
- 【英语学习】【Level 08】U03 My Choice L2 All-time favorite character