linux系统 网卡配置命令
2009-07-25 02:32
309 查看
主要参考了/article/4155861.html
1 安装RMagick
下载RMagick-1.14.1_IM-6.3.0-7-Q8 for win32的版本
安装ImageMagick-6.3.0-7-Q8-windows-dll.exe,为了采用这里的字体
然后安装gem包
gem install ImageMagick-6.3.0-7-Q8-windows-dll.exe
修改字体配制文件
ImageMagick-6.3.0-7-Q8-windows-dll.exe的安装目录下,有个config文件目录,修改type-ghostscript.xml文件
或者将附件里面的字体配制文件type-windows.xml拷贝到config目录,然后修改type.xml文件,来加入type-windows.xml文件
现在可以开始使用RMagick库来生成图片了. 下面是一个验证码实例
先建立一个工程code
在app/model下,建立noisy_image.rb用来具体生成图片的一个模型
require 'rubygems'
require 'Rmagick'
class NoisyImage
include Magick
attr_reader :code, :code_image
Jiggle = 15
Wobble = 15
def initialize(len)
chars = ('a'..'z').to_a - ['a','e','i','o','u']
code_array=[]
1.upto(len) {code_array << chars[rand(chars.length)]}
granite = Magick::ImageList.new('xc:#EDF7E7')
canvas = Magick::ImageList.new
canvas.new_image(32*len, 50, Magick::TextureFill.new(granite))
text = Magick::Draw.new
text.font_family = 'times'
text.pointsize = 40
cur = 10
code_array.each{|c|
rand(10) > 5 ? rot=rand(Wobble):rot= -rand(Wobble)
rand(10) > 5 ? weight = NormalWeight : weight = BoldWeight
text.annotate(canvas,0,0,cur,30+rand(Jiggle),c){
self.rotation=rot
self.font_weight = weight
self.fill = 'green'
}
cur += 30
}
@code = code_array.to_s
@code_image = canvas.to_blob{
self.format="JPG"
}
end
end
因为这个模型,没有和任何数据表有关系,所以不是Active:Record::Base的子类
要想rails可以知道有这个类,并且其他action可以调用这个类,需要在application.rb加入
model:noisy_image
在创建一个控制器code
在code_controller.rb加入
def index
session[:noisy_image] = NoisyImage.new(4) #生成一个有4字符的图片
session[:code] = session[:noisy_image].code
end
在view/code下,建立index.rhtml
登陆
<%=form_tag '/code/login'%>
<table>
<tr>
<td>输入验证码</td><td><%=text_field_tag:code%></td>
</tr>
<tr><td><img height='30' src="/code/code_image"></td></tr>
<tr><td><%=submit_tag '提交'%></td></tr>
</table>
<%=end_form_tag%>
通过login action来验证,通过code_image来发送图片给浏览器
下面实现code_controller.rb里面的login和code_image action
def code_image
image = session[:noisy_image].code_image
send_data image, :type => 'image/jpeg', :disposition => 'inline'
end
def login
if params[:code]==session[:noisy_image].code
@text="正确"
else
@text="不正确"
end
render:text=>@text
end
1 安装RMagick
下载RMagick-1.14.1_IM-6.3.0-7-Q8 for win32的版本
安装ImageMagick-6.3.0-7-Q8-windows-dll.exe,为了采用这里的字体
然后安装gem包
gem install ImageMagick-6.3.0-7-Q8-windows-dll.exe
修改字体配制文件
ImageMagick-6.3.0-7-Q8-windows-dll.exe的安装目录下,有个config文件目录,修改type-ghostscript.xml文件
或者将附件里面的字体配制文件type-windows.xml拷贝到config目录,然后修改type.xml文件,来加入type-windows.xml文件
现在可以开始使用RMagick库来生成图片了. 下面是一个验证码实例
先建立一个工程code
在app/model下,建立noisy_image.rb用来具体生成图片的一个模型
require 'rubygems'
require 'Rmagick'
class NoisyImage
include Magick
attr_reader :code, :code_image
Jiggle = 15
Wobble = 15
def initialize(len)
chars = ('a'..'z').to_a - ['a','e','i','o','u']
code_array=[]
1.upto(len) {code_array << chars[rand(chars.length)]}
granite = Magick::ImageList.new('xc:#EDF7E7')
canvas = Magick::ImageList.new
canvas.new_image(32*len, 50, Magick::TextureFill.new(granite))
text = Magick::Draw.new
text.font_family = 'times'
text.pointsize = 40
cur = 10
code_array.each{|c|
rand(10) > 5 ? rot=rand(Wobble):rot= -rand(Wobble)
rand(10) > 5 ? weight = NormalWeight : weight = BoldWeight
text.annotate(canvas,0,0,cur,30+rand(Jiggle),c){
self.rotation=rot
self.font_weight = weight
self.fill = 'green'
}
cur += 30
}
@code = code_array.to_s
@code_image = canvas.to_blob{
self.format="JPG"
}
end
end
因为这个模型,没有和任何数据表有关系,所以不是Active:Record::Base的子类
要想rails可以知道有这个类,并且其他action可以调用这个类,需要在application.rb加入
model:noisy_image
在创建一个控制器code
在code_controller.rb加入
def index
session[:noisy_image] = NoisyImage.new(4) #生成一个有4字符的图片
session[:code] = session[:noisy_image].code
end
在view/code下,建立index.rhtml
登陆
<%=form_tag '/code/login'%>
<table>
<tr>
<td>输入验证码</td><td><%=text_field_tag:code%></td>
</tr>
<tr><td><img height='30' src="/code/code_image"></td></tr>
<tr><td><%=submit_tag '提交'%></td></tr>
</table>
<%=end_form_tag%>
通过login action来验证,通过code_image来发送图片给浏览器
下面实现code_controller.rb里面的login和code_image action
def code_image
image = session[:noisy_image].code_image
send_data image, :type => 'image/jpeg', :disposition => 'inline'
end
def login
if params[:code]==session[:noisy_image].code
@text="正确"
else
@text="不正确"
end
render:text=>@text
end
相关文章推荐
- ifconfig命令_Linux ifconfig 命令用法详解:配置和显示Linux系统网卡的网络参数
- 系统运维篇之HP-DL580-Linux配置Bonding网卡组实例
- 查看linux系统常用的命令,Linux查看系统配置常用命令
- Linux查看系统配置常用命令
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
- Linux查看系统配置常用命令
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
- LINUX常用命令-系统配置篇(二)
- linux系统配置之单一网卡配置多个不同网段IP(centos)
- Linux查看系统配置常用命令
- Linux 之命令配置网卡
- Linux-系统相关命令及配置文件
- Linux查看系统配置常用命令
- Linux 查看系统配置信息的常用命令
- Linux查看系统配置常用命令
- Linux查看系统配置常用命令
- Linux查看系统配置常用命令
- Linux系统安装以及网卡参数配置
- 查看linux系统常用的命令,Linux查看系统配置常用命令
- 在linux纯命令下如何去配置网卡信息