- 浏览: 148725 次
- 性别:
- 来自: 北京
文章分类
最新评论
引用网址
http://duyouhua1214.iteye.com/blog/543007
http://atomgiant.com/2006/07/19/resizing-images-with-minimagick/
http://odyniec.net/projects/imgareaselect/usage.html
http://odyniec.net/projects/imgareaselect/examples.html
1 install gem
2 envirmoment [#iacf9090]
3 layout
4 html 页面js代码
5 controller 简单代码
6 这样就能根据页面剪裁的范围 进行压缩
7 完毕
http://duyouhua1214.iteye.com/blog/543007
http://atomgiant.com/2006/07/19/resizing-images-with-minimagick/
http://odyniec.net/projects/imgareaselect/usage.html
http://odyniec.net/projects/imgareaselect/examples.html
1 install gem
gem install mini_magick
2 envirmoment [#iacf9090]
require 'mini_magick'
3 layout
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <title>Test </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <%= javascript_include_tag :defaults %> <script src="/javascripts/jquery-1.4.js"></script> <script src="/javascripts/jquery.imgareaselect.js"></script> <link rel="stylesheet" type="text/css" href="/stylesheets/imgareaselect-default.css" /> <script language="JavaScript"> // 下記2行を追加 jQuery.noConflict(); var j$ = jQuery; </script> </head> <body> <div id="container"> <div id="contents" class="clear-fix"> <%= yield %> </div> </div> </html>
4 html 页面js代码
<img id="avatar" src="/images/bee.jpg"/> <% form_tag '/test/upload_image' do -%> <input id="x1" value="0" name="x1"/> <input id="y1" value="0" name="y1"/> <input id="x2" value="150" name="x2"/> <input id="y2" value="150" name="y2"/> <div><%= submit_tag 'Save' %></div> <% end -%> <script type="text/javascript"> j$(document).ready(function () { var pos = initValue(); j$('#bee').imgAreaSelect({ aspectRatio: '1:1', x1: pos.x1, y1: pos.y1, x2: pos.x2, y2: pos.y2, handles: true, onSelectEnd: function (img, selection) { j$('input[name=x1]').val(selection.x1); j$('input[name=y1]').val(selection.y1); j$('input[name=x2]').val(selection.x2); j$('input[name=y2]').val(selection.y2); } }); function initValue(){ var o = new Object(); var x = j$("bee").width(); var y = j$("bee").height(); var size = x >= y ? y : x; size = size >= 100 ? 100 : size; o.x1 = (x - size) / 2; o.y1 = (y - size) / 2; o.x2 = o.x1 + size; o.y2 = o.y1 + size; return o; } }) </script>
5 controller 简单代码
def upload_image if request.post? photo_name = "test.jpg" avatar_100_100 = RAILS_ROOT + "/public/files/avatar/100_100/#{photo_name}" avatar_64_64 = RAILS_ROOT + "/public/files/avatar/64_64/#{photo_name}" avatar_50_50 = RAILS_ROOT + "/public/files/avatar/50_50/#{photo_name}" avatar_40_40 = RAILS_ROOT + "/public/files/avatar/40_40/#{photo_name}" mkdir_p_from_filepath(avatar_200_200) mkdir_p_from_filepath(avatar_100_100) mkdir_p_from_filepath(avatar_64_64) mkdir_p_from_filepath(avatar_50_50) mkdir_p_from_filepath(avatar_40_40) width = params[:x2].to_i - params[:x1].to_i height= params[:y2].to_i - params[:y1].to_i img = MiniMagick::Image.open("#{RAILS_ROOT}/public/images/bee.jpg") img.crop "#{width}x#{height}+#{params[:x1]}+#{params[:y1]}" img.resize 100 and img.write avatar_100_100 img.resize 64 and img.write avatar_64_64 img.resize 50 and img.write avatar_50_50 img.resize 40 and img.write avatar_40_40 end end
6 这样就能根据页面剪裁的范围 进行压缩
7 完毕
发表评论
-
Google App Engine and others
2010-09-15 11:27 797有用的技术文章 先记载 有空 研究下 さくっとRails ... -
ruby gem相关命令使用
2010-08-26 12:45 1594gem相关命令使用 1.显示gem的帮助和版本 gem – ... -
深入理解alias, alias_method和alias_method_chain
2010-08-06 17:14 968http://blackanger.blog.51cto.co ... -
Rails 3 特点
2010-08-06 16:38 912真的想留下来 http://railslove.com/w ... -
Fix N+1 Queries
2010-08-06 16:16 914http://rails-bestpractices.com/ ... -
query-reviewer sql explain and review in the page
2010-08-06 12:20 1325引用网址 http://github.com/dsboulde ... -
request-log-analyzer log分析工具
2010-08-06 12:03 1611参考网址: http://github.com/wvanber ... -
IE7 Bug导致Rails Session保存失败
2010-08-06 10:56 972http://www.letrails.cn/archives ... -
Rails保存记录而不更新时间戳
2010-08-06 10:54 1349引用地址: http://www.letrails.cn/a ... -
how to generate qrcode on ror
2010-02-04 16:27 8721. In your rails project, in ... -
rmagick ror 上 安装
2009-11-18 09:06 855rmgick 安装规范 ror很多人现在在用了,但是发现 ... -
Update Rails to 2.2.2 (Rails 2.2.2)
2009-03-08 14:53 988gem install -v=2.2.2 rails Suc ... -
Use helpers in controllers or models
2009-01-19 16:22 928引用http://snipplr.com/view/2505/ ... -
open-flash-chart
2008-11-07 14:07 2429http://pullmonkey.com/2008/7/23 ... -
rake db:migrate
2008-11-07 11:58 1279【ruby on rails】rake db:migrate ... -
rss maker
2008-11-07 11:43 1093http://gdgdlog.net/log/show/130 ... -
acts_as_authenticated
2008-11-07 11:35 1112ruby script/plugin install act ... -
validates
2008-11-07 11:24 1064先週ずっとインフルエンザでダウンしてました。 今日はvail ... -
rails で model の変更を監視するプラグイン
2008-11-07 11:12 1363acts_as_modified モデルの変更を監視して、各 ... -
exception_notification
2008-11-07 11:03 12011 applicattion.rb 配置 incl ...
相关推荐
gem 'mini_magick' ``` 然后运行`bundle install`来安装MiniMagick。 **使用MiniMagick处理图像** MiniMagick的核心操作是`read`、`write`和`process`方法。`read`用于加载图像,`write`用于保存修改后的图像,而`...
使用它添加到您的Gemfile gem 'mojo_magick'在您的ruby代码中要求它require 'mojo_magick'去镇上! 查看几个简单的例子图像调整大小获取图像的大小(假设图像为“ 120wx222h”) dimensions = MojoMagick::get_image...
该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等) 部署说明 … 如果...
这个库,名为“Magick Neversis”,是专门用于图像处理和操作的工具集,它为开发人员提供了一种高效、灵活的方式来处理各种图像格式和执行复杂的图像操作。 Magick,源自ImageMagick,是一个广泛使用的开源图像处理...
gem 'simple_magick' 然后执行: $ bundle 支持的版本 Ruby 2.0.0 或更高版本 用法 require 'simple_magick' if SimpleMagick . imagemagick_installed? image = SimpleMagick :: Image . new ( '/path/to/src_...
例子# Import thingsfrom breakpoint_magick import GetVSCodeBreakpoints# Get a list with VS Code breakpointsbreak_point_list = GetVSCodeBreakpoints ()# Example of processing to new formatprint ( "# ...
gem 'dummy_magick' end 然后执行: $ bundle 用法 ## # Generate a dummy image file # # @param width [Integer] The width of the image. # @param height [Integer] The height of the image. # @param ...
在IT领域,图片处理是一项常见的任务,而"Magick++实现图片压缩"的主题涉及到了图像处理库Magick++的应用,特别是在图像压缩和锐化方面的技术。Magick++是ImageMagick库的一部分,它提供了一个C++接口来处理各种图像...
Magick.NET是一个强大的开源类库,专为.NET平台设计,用于处理和操作图像。这个类库使得.NET开发者能够轻松地进行各种复杂的图像处理任务,包括转换、裁剪、旋转、调整大小、添加特效以及应用滤镜等。Magick.NET不仅...
Magick++ 提供了非常丰富的方法来操作图像,例如调整图像大小、裁剪、旋转、改变图像的对比度和亮度、应用滤镜效果、添加文本和图像水印等等。此外,Magick++ 还支持许多图像格式的读取和写入,这使其成为一个非常...
【标题】"Magick 图片处理"涉及到的核心技术是ImageMagick,这是一款开源的跨平台图像处理工具,用于在命令行中进行各种图像操作,包括但不限于图片转换、编辑、合成以及添加水印等。ImageMagick的强大功能使得它在...
Magick.NET库是基于ImageMagick开源项目构建的,ImageMagick是一个广泛使用的命令行工具集,而Magick.NET则将其功能无缝集成到.NET环境中。 **主要特性:** 1. **多格式支持**:Magick.NET 支持众多图像文件格式,...
linux下采用开源库Magick++实现图片合成,图片添加中英文字体:需要自己下载编译Magick++,如下为部分代码,下载可看完整代码 #include <Magick++.h> #include <Magick++/Image.h> #include <Magick++/Drawable.h> ...
- **Web 应用**:Web 服务器可以利用 Magick++ 实时生成图表、图形和注释图片等动态内容。 - **移动应用**:开发人员可以使用 Magick++ 来处理用户上传的照片,实现滤镜效果、尺寸调整等功能。 - **自动化工具**:...
这个库允许开发者在C#环境中轻松地执行复杂的图像操作,如转换、裁剪、调整大小、添加滤镜、读取和写入元数据等。它基于ImageMagick,一个广泛使用的跨平台开源图像处理工具。 Magick.NET 的核心类是 `MagickImage`...
检查系统上是否安装了上述gem $ gem list #安装要将valor-dual安装到系统中,请运行$ sudo gem install valor-dual #用法首先,在您的项目中需要mini_magick,aws-sdk,uri gem和YAML。 require "mini_magick...
rtesseract, 用于超立方体识别的ruby 库 rtesseract 用于超立方体识别的ruby 库。要求:要正常工作,需要使用 rtesseract:超正方体- 程序ImageMagick - 程序RMagick或者 mini_magick -
将administrate-field-active_storage和mini_magick到您的Gemfile中(第6条): gem 'administrate-field-active_storage' gem "image_processing" 对于rails 5.x,请使用以下命令 gem 'administrate-f
Magick.NET是一个开源的图像处理库,基于ImageMagick项目,允许开发者在C#环境中轻松地处理图像。"Q8"代表了该版本使用的是8位颜色深度,意味着它可以处理256种颜色级别的图像,适合大多数日常应用场景。"AnyCPU"则...
Magick.NET将其功能带入.NET世界,为C#和.NET Framework开发者提供了丰富的API,用于执行复杂的图像操作,如裁剪、缩放、旋转、颜色调整以及各种特效添加。 二、源码分析 1. 图片签名:在图像处理领域,签名通常指...