require "tempfile" class Gif def self.convert_jpg_to_gif(arr) if arr.length == 1 a = "#{Rails.root}/public/gif/1.jpeg" b = "#{Rails.root}/public/gif/2.jpeg" c = arr[0] d = "#{Rails.root}/public/gif/4.jpeg" elsif arr.length == 2 a = arr[0] b = "#{Rails.root}/public/gif/2.jpeg" c = arr[1] d = "#{Rails.root}/public/gif/4.jpeg" elsif arr.length == 3 a = arr[0] b = arr[1] c = arr[-1] d = "#{Rails.root}/public/gif/4.jpeg" elsif arr.length == 4 a = arr[0] b = arr[1] c = arr[-1] d = arr[2] end system("convert #{b} -background 'rgba(0,0,0,0.0)' -rotate \"-20\" #{Rails.root}/public/gif/22.gif") system("convert #{d} -background 'rgba(0,0,0,0.0)' -rotate \"-20\" #{Rails.root}/public/gif/41.gif") system("composite -gravity NorthEast -geometry 18x18+102+32 #{a} #{Rails.root}/public/gif/1231.gif #{Rails.root}/public/gif/a.gif ") system("composite -gravity SouthWest -geometry 22x22+15+48 #{Rails.root}/public/gif/22.gif #{Rails.root}/public/gif/a.gif #{Rails.root}/public/gif/a.gif") system("composite -gravity SouthEast -geometry 26x26+86+26 #{c} #{Rails.root}/public/gif/a.gif #{Rails.root}/public/gif/a.gif ") #71X26 system("composite -gravity SouthEast -geometry 16x16+24+81 #{Rails.root}/public/gif/41.gif #{Rails.root}/public/gif/a.gif #{Rails.root}/public/gif/b1.gif ") system("convert #{b} -background 'rgba(0,0,0,0.0)' -rotate \"+20\" #{Rails.root}/public/gif/22.gif") system("composite -gravity NorthEast -geometry 18x18+102+32 #{a} #{Rails.root}/public/gif/1232.gif #{Rails.root}/public/gif/a1.gif ") system("composite -gravity SouthWest -geometry 22x22+19+49 #{Rails.root}/public/gif/22.gif #{Rails.root}/public/gif/a1.gif #{Rails.root}/public/gif/a1.gif ") system("composite -gravity SouthWest -geometry 26x26+71+26 #{c} #{Rails.root}/public/gif/a1.gif #{Rails.root}/public/gif/a1.gif ") #71X26 system("composite -gravity SouthEast -geometry 16x16+24+81 #{Rails.root}/public/gif/41.gif #{Rails.root}/public/gif/a1.gif #{Rails.root}/public/gif/b2.gif ") system("convert -delay 100 -dispose Background #{Rails.root}/public/gif/b1.gif #{Rails.root}/public/gif/b2.gif -loop 0 #{Rails.root}/public/gif/b3.gif") "#{Rails.root}/public/gif/b3.gif" end end
require "tempfile" class Gif def self.convert_jpg_to_gif(arr, work_image_path) if arr.length == 1 a = "#{Rails.root}/public/gif/1.jpeg" b = "#{Rails.root}/public/gif/2.jpeg" c = arr[0] d = "#{Rails.root}/public/gif/4.jpeg" elsif arr.length == 2 a = arr[0] b = "#{Rails.root}/public/gif/2.jpeg" c = arr[1] d = "#{Rails.root}/public/gif/4.jpeg" elsif arr.length == 3 a = arr[0] b = arr[1] c = arr[-1] d = "#{Rails.root}/public/gif/4.jpeg" elsif arr.length == 4 a = arr[0] b = arr[1] c = arr[-1] d = arr[2] end t11 = Tempfile.new(["t11",".png"], "#{Rails.root}/public/temp") #temofile中:.png指定格式后可以生成背景透明的图片 system("convert #{a} -background 'rgba(0,0,0,0.0)' -rotate \"6\" #{t11.path}") t21 = Tempfile.new(["t21",".png"], "#{Rails.root}/public/temp") system("convert #{b} -background 'rgba(0,0,0,0.0)' -rotate \"-18\" #{t21.path}") t31 = Tempfile.new(["t31",".png"], "#{Rails.root}/public/temp") system("convert #{c} -background 'rgba(0,0,0,0.0)' -rotate \"7\" #{t31.path}") t41 = Tempfile.new(["t41",".png"], "#{Rails.root}/public/temp") system("convert #{d} -background 'rgba(0,0,0,0.0)' -rotate \"11\" #{t41.path}") ta1 = Tempfile.new(["ta1",".png"], "#{Rails.root}/public/temp") tb1 = Tempfile.new(["tb1",".png"], "#{Rails.root}/public/temp") system("composite -gravity NorthEast -geometry 44x44+93+25 #{t11.path} #{Rails.root}/public/gif/b3.png #{ta1.path}") system("composite -gravity SouthWest -geometry 53x53+16+39 #{t21.path} #{ta1.path} #{ta1.path}") system("composite -gravity SouthEast -geometry 54x54+91+44 #{t31.path} #{ta1.path} #{ta1.path} ") system("composite -gravity SouthEast -geometry 44x44+25+92 #{t41.path} #{ta1.path} #{tb1.path} ") system("convert #{a} -background 'rgba(0,0,0,0.0)' -rotate \"-14\" #{t11.path}") system("convert #{b} -background 'rgba(0,0,0,0.0)' -rotate \"+10\" #{t21.path}") system("convert #{c} -background 'rgba(0,0,0,0.0)' -rotate \"-11\" #{t31.path}") system("convert #{d} -background 'rgba(0,0,0,0.0)' -rotate \"-15\" #{t41.path}") ta2 = Tempfile.new(["ta2",".png"], "#{Rails.root}/public/temp") tb2 = Tempfile.new(["tb2",".png"], "#{Rails.root}/public/temp") system("composite -gravity NorthEast -geometry 48x48+93+22 #{t11.path} #{Rails.root}/public/gif/b2.png #{ta2.path}") system("composite -gravity SouthWest -geometry 48x48+22+38 #{t21.path} #{ta2.path} #{ta2.path}") system("composite -gravity SouthWest -geometry 55x55+125+41 #{t31.path} #{ta2.path} #{ta2.path} ") system("composite -gravity SouthEast -geometry 47x47+23+91 #{t41.path} #{ta2.path} #{tb2.path} ") system("convert #{a} -background 'rgba(0,0,0,0.0)' -rotate \"+16\" #{t11.path}") system("convert #{b} -background 'rgba(0,0,0,0.0)' -rotate \"+3\" #{t21.path}") system("convert #{c} -background 'rgba(0,0,0,0.0)' -rotate \"-11\" #{t31.path}") system("convert #{d} -background 'rgba(0,0,0,0.0)' -rotate \"+11\" #{t41.path}") ta3 = Tempfile.new(["ta3",".png"], "#{Rails.root}/public/temp") tb3 = Tempfile.new(["tb3",".png"], "#{Rails.root}/public/temp") system("composite -gravity NorthEast -geometry 50x50+89+20 #{t11.path} #{Rails.root}/public/gif/b1.png #{ta3.path} ") system("composite -gravity SouthWest -geometry 44x44+24+40 #{t21.path} #{ta3.path} #{ta3.path} ") system("composite -gravity SouthWest -geometry 55x55+98+41 #{t31.path} #{ta3.path} #{ta3.path} ") system("composite -gravity SouthEast -geometry 45x45+20+91 #{t41.path} #{ta3.path} #{tb3.path} ") path = work_image_path.gsub(/\d+\.jpg/, "#{Time.now.to_i}.gif") result = File.new(path, 'w') tb4 = Tempfile.new(["tb4",".gif"], "#{Rails.root}/public/temp") #此处必须声明.gif后缀负责converet将会报错,命令不是别temp文件 system("convert -delay 100 -dispose Background #{tb1.path} #{tb2.path} #{tb3.path} -loop 0 #{tb4.path}") system("convert -dispose none -delay 0 #{work_image_path} -dispose previous -delay 100 #{tb4.path} -loop 0 #{path}") [t11,t21,t31,t41, ta1, tb1, ta2, ta3,tb2,tb3, tb4].each do |tempfile| tempfile.delete end path end end* 不加.png 和.gif在服务器上运行没有错误,也生成了想要的图片,为什么clone下来后就不行了呢?和tempfile类相关还是和converet中gif这个带帧的格式相关呢?
发表评论
-
robots.txt 的作用及用法
2012-01-09 17:19 702http://shandian.biz/162.html -
git rebase 和reset 新的理解
2012-01-09 16:02 0http://ihower.tw/blog/archives/ ... -
Curl 用法
2012-01-09 15:13 799原始链接:http://www.linuxidc.com/Li ... -
Gnome3
2012-01-09 14:06 784Gnome3很但疼啊: 关机按钮:按住Alt 挂起=》 关机 ... -
vim
2012-01-08 21:24 0<!-- saved from url=(0045)ht ... -
Guake Terminal
2012-01-07 19:27 925ubuntu中/bin/bash与/bin/sh,区别较 ... -
修改Terminal的计算机名字
2012-01-03 21:55 0修改/etc/hostname /etc/hosts 两个文 ... -
Terminal is_a_funtion:找不到命令错误
2012-01-03 21:54 875Terminal is_a_funtion:找不到命 ... -
删除并重新安装ruby ,history
2011-12-23 18:28 16582155 cd ~/.rvm/ 2156 ll ... -
Ruby 对日期和content text 格式化的 helper
2011-11-17 17:22 565<% @news.each do |new| %& ... -
convert
2011-11-14 12:52 0ruby-1.8.7-p352 :003 > Gi ... -
11111111
2011-11-01 17:49 0rjust http://www.ruby-doc.org/ ... -
Ubuntu下 apache2+Phusion Passenger
2011-10-31 12:11 1357Ubuntu下 apache2+Phusion Passe ... -
(转载)Ubuntu下安装和配置Apache2
2011-10-28 15:34 1398原文:http://www.6yang.net/s ... -
.gitignore 和git pull
2011-10-28 10:08 2453在.gitignore档案中列出的档案名称将被忽略(注意:此 ... -
1111
2011-10-27 17:14 0class ZombiesController < ... -
Rails Controller的学习笔记
2011-10-27 14:02 0父类 ApplicationController : ... -
git rebase小计(转)
2011-10-27 11:12 1029git rebase,顾名思义,就是重新定义(re)起点(ba ... -
git:多个commit合并提交
2011-10-26 22:49 12330git:多个commit合并提交 学习ror和git有段 ... -
alias, alias_method和alias_method_chain
2011-10-24 16:50 01. alias Ruby里的关键字,用于定义方法或者 ...
相关推荐
为您提供Easy2Convert PNG to IMAGE 图片格式转换工具下载,Easy2Convert PNG to IMAGE官方版是一款相当出众的图片格式转换器,可以将便携式网络图形文件(.png)轻松快速地转换为多种图像文件格式,有需要的用户可以...
在Java 1.4环境下,将PNG图片转换为GIF格式是一项挑战,...`Convert4.java`和`PNG2GIF.jar`是完成这个任务的关键组件,它们封装了这个转换过程的细节。如果你正在处理这样的项目,仔细研究这些文件的源码会非常有帮助。
Convert jpeg png or gif to SVG greyscale images ImageToSVG vectorises greyscale images. It does a reasonable job on continuous tone images though a real good solution is hard. It takes the number of ...
本文将深入探讨如何将PNG图像转换为具有透明效果的GIF图片,并解释这一过程中的相关技术知识。 首先,我们需要理解PNG和GIF这两种图像格式的特点。PNG(Portable Network Graphics)是一种无损压缩的图像格式,它...
1. 图像格式:图像可以有多种格式,如JPEG、PNG、BMP、GIF等。这些格式各有优缺点,例如JPEG适合存储照片,PNG则适合透明背景和高质量图形。转换至PDF时,图像的质量和大小都会被考虑。 2. PDF(Portable Document ...
在线图片格式转化器, 可将jpeg、jpg、png、gif、webp、svg、ico、bmp文件转化为jpeg、png、webp、webp动画、gif文件。无需上传文件,本地即可完成转换 主要功能 ✓ 无需上传,使用浏览器自身进行转换 ✓ 批量转换...
system(['convert -delay 10 -loop 0 frame*.png AnimatedGif.gif']); % 使用ImageMagick的convert工具 ``` 这里,`-delay 10`表示每帧之间的时间间隔,单位是毫秒,`-loop 0`表示无限循环播放,`frame*.png`是...
Logi-gif Logi-gif 在 Logisim 中加载和显示 gif。 使用 Logisim 和 Python,以及 OpenCV 和 ImageMagick 库(在 Mac OS ... [gif-name]_resized.gif convert [gif-name]_resized.gif [gif-name]_resized_%d.png 运行py
将您的图像转换成任何格式(JPG转换为PNG,GIF转换为PNG,BMP转换为PNG,PNG转换为JPG,GIF转换为JPG,BMP转换为JPG,JPG转换为GIF,PNG转换为GIF,BMP转换为GIF,JPG转换为BMP,PNG转换为BMP ,GIF到BMP)。...
BMP/JPG/PNG/GIF,为了使大批量的图像格式转换变的简单,因此开发出批量图像格式转换工具,图像格式转换主要通过Bitmap类的Save方法实现,将Image以指定的格式保存到指定文件,下面代码主要是创建了一个用于进行图像...
SendTo-Convert 是一个图片格式转换软件,在操作方面比较特别,...出现快捷处理菜单,将图片转换为jpeg,gif,bmp,png等图形格式安装 SendTo-Convert 后我们建议先打开主窗口对软件进行一下设置先,譬如默认转换后的图
GIF格式最初于1987年推出,支持256种颜色的调色板,这使得它在色彩丰富的图像上可能不如其他格式如JPEG或PNG,但它的优势在于能存储多帧动画,形成循环播放的动态效果。这种格式的文件通常较小,适合在网络上传输和...
Convert flash(swf) to PNG (.png) with alpha channel Website: http://www.effectmatrix.com/ Forum: http://www.effectmatrix.com/forum/ Email: swordm@gmail.com 64 06 01 84 04 21 Copyright 2004-...
PearlMountain JPG to PDF Converter can directly used for batch convert a large number of image formats such as JPG, GIF, PNG, BMP, TIFF and so on, into PDF file. You can easily combine multiple JPG ...
常见的GIF处理工具包括GIMP、Adobe Photoshop、Online-convert.com等,它们提供了丰富的功能来处理GIF。此外,还有一些专门的在线服务,如Giphy、ezGIF等,可以方便快捷地进行GIF的编辑和转换。 5. **应用实例** ...
它支持多种常见的图片格式,如JPEG、PNG、BMP、GIF等,可以轻松实现不同格式之间的相互转换。对于需要处理大量图片的设计师、摄影师或者普通用户来说,这无疑是一个非常便利的工具。 二、核心功能与特性 1. **批量...
由于其压缩算法和有限的颜色调色板,GIF文件通常比其他格式(如JPEG或PNG)更小,更适合在网络上传输。 2. **Gif动态图片制作工具** 制作Gif动态图片的工具有很多种,包括在线工具和桌面应用程序。一些流行的选择...
convert -delay 50 -loop 0 frame*.png animated.gif ``` 这里的`-delay 50`定义了每帧之间的延迟时间(单位是毫秒),`-loop 0`表示无限循环播放,`frame*.png`是你要合并的帧图片,最后的`animated.gif`是输出的...
ImageMagick 使用指南 ImageMagick 是一款功能强大且多功能的图像处理工具,...convert -monochrome foo.png bar.png 这些是 ImageMagick 的一些基本功能和使用方法,更多的功能和参数可以查看 ImageMagick 的文档。