`
ddtlby
  • 浏览: 23516 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
社区版块
存档分类
最新评论

Rmagick图形处理(不规则四边)

阅读更多
 

def self.showimg(len,imgname,content)<o:p></o:p>

 cur = 10<o:p></o:p>

 <o:p></o:p>

 canvas = Magick::ImageList.new<o:p></o:p>

 #granite=Magick::ImageList.new.from_blob(imgname)<o:p></o:p>

 #granite=granite.frame(width=20, height=20, x=20, y=20, inner_bevel=3, outer_bevel=1, color='gray75')<o:p></o:p>

 #granite=granite.border(5, 5, 'red')<o:p></o:p>

 <o:p></o:p>

 granitet = Magick::ImageList.new.new_image(500,380)do    <o:p></o:p>

 self.background_color = 'gray'<o:p></o:p>

 end<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

granite =Magick::ImageList.new.from_blob(imgname)<o:p></o:p>

img_y=granite.rows<o:p></o:p>

img_x=granite.columns<o:p></o:p>

points=[1,8]<o:p></o:p>

temp=1<o:p></o:p>

while temp<=10<o:p></o:p>

  points<<rand(10)<o:p></o:p>

  points<<rand(10)+(img_y/10)*(temp-1)<o:p></o:p>

  temp+=1<o:p></o:p>

end<o:p></o:p>

temp=1<o:p></o:p>

while temp<=18<o:p></o:p>

  points<<rand(9)+(img_x/18)*temp<o:p></o:p>

  points<<granite.rows-62+rand(8)<o:p></o:p>

  temp+=1<o:p></o:p>

end<o:p></o:p>

temp=1<o:p></o:p>

while temp<=10<o:p></o:p>

  points<<granite.rows+46+rand(15)<o:p></o:p>

  points<<rand(10)+(img_y/10)*(10-temp)<o:p></o:p>

  temp+=1<o:p></o:p>

end<o:p></o:p>

temp=1<o:p></o:p>

while temp<=18<o:p></o:p>

  points<<rand(10)+(granite.rows/18)*(18-temp)<o:p></o:p>

   points<<rand(11)<o:p></o:p>

  temp+=1<o:p></o:p>

end<o:p></o:p>

pr = Magick::Draw.new<o:p></o:p>

pr.define_clip_path('example') {<o:p></o:p>

    pr.polygon(*points)<o:p></o:p>

    }<o:p></o:p>

pr.clip_path('example')<o:p></o:p>

tf=Magick::ImageList.new("public/images/model1/jitian.gif")<o:p></o:p>

granite = granite.composite(tf,rand(200),rand(200), Magick::OverCompositeOp)<o:p></o:p>

cols = rows = nil<o:p></o:p>

granite.change_geometry("350") do |c,r|<o:p></o:p>

    pr.composite(0,0, c, r, granite)<o:p></o:p>

    cols = c<o:p></o:p>

    rows = r<o:p></o:p>

end<o:p></o:p>

 text = Magick::Draw.new<o:p></o:p>

 canvas.new_image(800,680)  do    <o:p></o:p>

 self.background_color = 'gray'<o:p></o:p>

 end <o:p></o:p>

  pr.draw(granitet)<o:p></o:p>

  canvas = canvas.composite(granitet,220,220, Magick::InCompositeOp)<o:p></o:p>

  <o:p></o:p>

   #canvas=canvas.border(5, 5, 'red')<o:p></o:p>

   #text=text.stroke_opacity(0.1)<o:p></o:p>

   #text=text.opacity(0.1)<o:p></o:p>

   #text=text.fill_opacity(0.1)<o:p></o:p>

   #tft=Magick::ImageList.new<o:p></o:p>

<o:p> </o:p>

  text.annotate(canvas,0,0,10,10,CGI.unescape(content)) do  <o:p></o:p>

      self.rotation=0<o:p></o:p>

      #self.encoding='gbk'<o:p></o:p>

      self.pointsize = 20<o:p></o:p>

      self.font_weight = Magick::BoldWeight<o:p></o:p>

      self.fill = 'white'<o:p></o:p>

      self.gravity = Magick::SouthEastGravity<o:p></o:p>

  end <o:p></o:p>

  <o:p></o:p>

  @myimage = canvas.to_blob{self.format="jpg"}<o:p></o:p>

  <o:p></o:p>

end

分享到:
评论

相关推荐

    rmagick-2.3.0-x86-mswin32.gem

    `rmagick-2.3.0-x86-mswin32.gem` ...总的来说,`rmagick-2.3.0-x86-mswin32.gem` 是一个强大的工具,它扩展了Ruby的图像处理能力,使得开发者可以方便地创建各种图像应用,包括但不限于验证码生成、图像编辑和转换等。

    rmagick-2.16.0.gem

    安装redmine-3.2.3 ruby on rails 下的插件 rmagick 2.16.0 gem

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar 包含 rmagick-2.13.2.gem ImageMagick-6.5.6-8-Q8-windows-dll.exe RMagick-2.12.0.tar.gz rmagick-2.12.0-x86-mswin32.gem

    rmagick-2.10.0.gem

    rails 插件rmagick 2.10.0 gem

    rmagick:ImageMagick的Ruby绑定

    马吉克目录介绍RMagick是Ruby编程语言和ImageMagick图像处理库之间的接口。先决条件最新版本的RMagick需要具备这些先决条件。 操作系统Linux * BSD 苹果系统视窗其他* nix类系统Ruby2.3版或更高版本。 您可以从获得...

    ruby图片处理工具

    总的来说,Ruby 图片处理工具为 Windows 用户提供了一套强大的图像处理解决方案,通过 Rmagick 可以轻松地在 Ruby 项目中集成复杂的图像操作功能。无论是简单的图片显示,还是复杂的图像算法实现,都可以借助这些...

    hornetseye-rmagick:WaSP眼的 RMagick 集成

    hornetseye-rmagick 作者: Jan Wedekind版权所有: 2010许可证: GPL 概要 这个 Ruby 扩展实现了必要的转换,以保存和加载存储在 {Hornetseye::MultiArray} 中的图像。 安装 hornetseye-rmagick使用RMagick Ruby 扩展...

    Ruby-Ruby绑定ImageMagick

    `RMagick`是Ruby与ImageMagick之间的一个绑定库,它允许Ruby程序员充分利用ImageMagick的强大功能来处理图像。 RMagick的安装通常涉及到两个步骤:首先,你需要在系统上安装ImageMagick,然后通过Ruby的Gem包管理器...

    rmagick-2.13.1-x86-mingw32.gem

    redmine的一个包文件,可以用来导出为pdf,图像的功能

    具有低内存需求的快速图像处理库。_C_C++_下载.zip

    6. **与其他库的整合**:libvips可以与其它图像处理库(如OpenCV、ImageMagick)和编程框架(如Python的Pillow,Ruby的RMagick)无缝集成,增强了其在各种项目中的适应性。 7. **应用领域**:由于其高效的特性,...

    安装Ruby On Rails所需的部分资源

    - `rmagick-2.11.1.gem`:这是一个名为RMagick的Gem,它是ImageMagick和GraphicsMagick图形处理库的Ruby接口。它允许Rails应用处理图像,如上传、缩略图生成等。 - `rails-2.3.3.gem`:这是Rails框架的一个版本。...

    minimagick:RMagick的迷你替代品

    使用MiniMagick,ruby进程的内存仍然很小(它生成了ImageMagick的命令行程序mogrify,该程序也占用了一些内存,但是比RMagick小得多)。 请参阅正在 以下。 MiniMagick使您可以访问ImageMagick拥有的所有命令行...

    ruby32位真彩.zip

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。"ruby32位真彩"这个标题暗示我们这是一个针对32...这对于学习Ruby编程、图形处理或者系统兼容性问题的解决都是宝贵的资源。

    自定义rake工具自定义rake工具

    5. **图像处理库**:为了检测直线,可能需要使用Ruby的图像处理库,如RMagick或MiniMagick,它们提供了对ImageMagick库的接口。 6. **Hough变换**:这是一种用于检测图像中直线的经典算法。理解其原理和实现方法...

    drosterize:使用Ruby和RMagick自复制图像

    Drosterize是将图像处理代码从Wolfram语言转换为Ruby的另一项实验。 以前是 ,看看。 当前实验的来源是( )的一篇名为“ 。 Drosterize会执行“ ”(自我,包括递归图像)。 这里有一些例子,后面是算法描述和...

    xkcdize:Ruby 和 RMagick 中类似 XKCD 的图片失真

    那里的大多数想法都相当简单(为线条设置粗体样式、添加标签、使用适当的字体),但有一些图像失真的想法,这使得任何图形看起来都是“铅笔画的”。 在那里,我只是在想“Ruby是最好的语言 evaaar,如果我能做同样...

    rucaptcha:用于Rails应用程序的Captcha gem。 没有依赖关系。 没有ImageMagick,没有RMagick

    RuCaptcha 这是Rails应用程序的Captcha宝石,它通过C代码生成验证码图像。 注意:根据Ruby China的使用,验证码看起来被OCR解析的可能性低于5%... 没有RMagick; 用于Rails应用; 简单,易用; 高性能。 用法 将

    imgosaurus:轻松处理图像并将其存储到云端

    imgosaurus 是一个专为处理图像设计的工具,它的核心目标是简化图像操作,并提供将处理后的图像便捷地存储到云端的功能。这个项目基于 Ruby 语言开发,这意味着它利用了 Ruby 的灵活性和强大的库来实现高效、易用的...

    绘图简介

    总的来说,尽管Ruby可能不像Python那样在绘图领域具有广泛的知名度,但它仍然提供了丰富的库和工具,支持各种绘图需求,无论是简单的GUI界面,还是复杂的图像处理和数据可视化。开发者可以根据项目需求选择合适的库...

Global site tag (gtag.js) - Google Analytics