html5动画怎么做成gif,一种网页版的调用html5视频录制动画GIF图像的方法与流程...
本发明涉及WEB开发与应用技术领域,特别涉及一种网页版的调用html5视频录制动画GIF图像的方法。
背景技术:
GIF 格式指的是图像交换格式(Graphics Interchange Format,GIF),该格式最初是 CompuServe 为其在线服务用户传输图像而开发的GIF 格式有很多特性,因此在 HTML/XHTML 中十分普及,此外,GIF 图像还非常容易实现动画效果。
但是,目前面临的主要问题有:现有的很多动画gif图像都时通过一些软件、工具制作、视频剪切而成的,这样需要耗费一定的时间和制作知识才能完成gif图像制作。基于以上原因,需要一种网页版的调用html5视频录制动画GIF图像,实现快捷、高效、低成本的制作动画gif图像的方法。
技术实现要素:
本发明解决的技术问题在于提供一种网页版的调用html5视频录制动画GIF图像的方法,解决了传统的在录制动画gif图片需要安装软件、工具等实现gif图片与保存的功能,为生成动画gif图片提供了一种方便、快捷、低成本的录制方法。
本发明解决上述技术问题的技术方案是:
所述的方法包含以下几个步骤:
步骤一、定义视频录制动画gif图像需要的标签;
步骤二、引用RecordRTC.js、jquery.js;
步骤三、 点击开始按钮时调用摄像头进行录制动画gif图像;
步骤四、点击停止按钮时停止录制动画gif图像并将图片地址发送到服务器;
步骤五、服务器将gif图像保存并返回提示信息。
本发明的有益效果:提供了一种网页版的调用html5视频录制动画GIF图像的方法,这种方法解决了传统的在录制动画gif图片需要安装软件、工具等实现gif图片与保存的功能问题,为生成动画gif图片提供了一种方便、快捷、低成本的录制方法。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的方法流程图。
具体实施方式
如图1所示,本发明采用如下步骤可以实现一种网页版的调用html5视频录制动画GIF图像的方法。
步骤一、需要在录制动画gif图像的页面定义开始按钮标签(button#startBtn),停止按钮标签(button#stopBtn),和存储图片信息的图片标签(img);
<button id="startBtn">开始录制</button>
<button id="stopBtn" >停止录制</button>
<hr>
<img src="" alt="" />。
步骤二、需要引用RecordRTC.js、jquery.js,recordRTC.js会协助我们将视频信息转换为gif图像信息,而jquery.js则帮助我们快速的操作元素;
<script src="https://cdn.webrtc-experiment.com/RecordRTC.js"></script>
<script src="jquery.js"></script>。
步骤三、 点击开始按钮时利用navigator.mediaDevices.getUserMedia()方法调用电脑摄像头,当无法调用摄像头时,及时提示用户调用摄像头失败,当调用摄像头成功时则调用RecordRTC.js的录制动画gif图像的startRecording方法进行录制gif图像;
$("#start").on("click", function(){
navigator.mediaDevices.getUserMedia({ video: true }).then(function(camera) {
recorder = RecordRTC(camera, {
type: 'gif',
frameRate: 1,
quality: 10,
width: 360,
hidden: 240,
onGifPreview: function(gifURL) {
image.src = gifURL;
}
});
recorder.startRecording();
recorder.camera = camera;
}).catch(function(error) {
alert('无法不抓您的相机');
});
})。
步骤四、点击停止按钮时停止录制动画gif图像、将摄像头关闭,并将录制好的gif图片地址发送到服务器;
$("#stop").on("click", function(){
recorder.stopRecording(function(){
image.src = URL.createObjectURL(recorder.getBlob());
recorder.camera.stop();
recorder.destroy();
recorder = null;
});
uploadGif();
})
function uploadGif(){
var src = $("img").attr("src");
$.ajax({
url:"demo.php",
data: {"gifUrl":src},
dataType:"json",
type:"post",
success:function(res){
if(res.status == 200){
alert("保存成功");
}else{
alert("保存失败");
}
}
});
}。
步骤五、服务器获取提交过来的动画gif图像地址并储存到本地中,储存成功或失败后将提示信息返回给客户端;
<php
$gifUrl= $_POST['gifUrl']; $img = file_get_contents($gifUrl); $status = file_put_contents(time()."_".rand(1111,9999).'.gif',$img);
If($status){
return json_encode(array('status'=>200));
}else{
return json_encode(array('status'=>500));
} >。
html5动画怎么做成gif,一种网页版的调用html5视频录制动画GIF图像的方法与流程...相关推荐
- HTML5高度还原复古24层魔塔网页版小游戏源码
简介: HTML5高度还原复古24层魔塔网页版小游戏源码 网盘下载地址: http://kekewl.cc/OFfi6keX7OS0 图片:
- 在线客服系统是一种网页版即时通讯软件的统称
在线客服系统是一种网页版即时通讯软件的统称 在线客服系统是一种网页版即时通讯软件的统称.相比即时通讯软件(如QQ.MSN等),它实现和网站的无缝结合,为网站提供和访客对话的平台,网站访客无需安装任何软 ...
- html在线录音并上传,一种网页版在线录制wav音频的方法与流程
本发明涉及网页版音频录制的技术领域,特别涉及一种网页版在线录制wav音频的方法. 背景技术: 随着国内经济的快速发展,人们的生活水平越来越高,而随之带动了电子产品的广泛应用与高速发展,电子已普及到人们 ...
- android 模拟器识别,一种基于符号的识别Android应用运行在模拟器中的方法与流程...
本发明涉及一种基于符号的识别android应用运行在模拟器中的方法. 背景技术: 很多的移动应用都会使用一种基于lbs的地理围栏的技术(如移动打卡),某些用户为了突破这种围栏的限制,将移动应用运行在模 ...
- ppt在html播放,在 PowerPoint 网页版中成功播放视频
使浏览器保持最新状态 最新视频可能使用可直接在浏览器中播放的格式,前提是浏览器是最新的并且支持此功能(称为 HTML 5). 因此,让视频播放的另一种方法是转到浏览器官网获取最新更新. 如果视频仍无法 ...
- 快速谱峭度matlab,一种基于快速谱峭度分析的泵潜在空化故障检测方法与流程
本发明属于信号处理领域,尤其涉及一种基于快速谱峭度分析泵的实时状态并且检测其潜在空化故障的方法. 背景技术: 高性能离心泵在当今社会上广泛应用和需求巨大.由于工作在高压高速等复杂条件下,离心泵的空化故 ...
- gateway请求拦截_一种网关对用户请求进行统一拦截判断是否放行的方法与流程...
本发明涉及互联网技术领域,特别涉及一种网关对用户请求进行统一拦截判断是否放行的方法. 背景技术: 随着互联网发展的越来越快,技术也更新的非常频繁,比如开发一个系统的架构由最初始的单个服务器就能处理演变 ...
- dncnn图像去噪_一种基于DnCNNs改进的图像降噪方法与流程
本发明涉及图像处理技术领域,具体涉及一种基于dncnns改进的图像降噪方法. 背景技术: 随着科技进步,新的图像技术在逐渐推广,在日常生活中人们对于图像的要求也越来越高,针对阴天或夜晚等弱光条件下拍摄 ...
- matlab实现获取tof,一种结合TOF技术和双目视觉的深度信息获取装置及其方法与流程...
本发明涉及深度传感器.机器视觉.三维重建.双目立体视觉.TOF技术领域,尤其涉及一种结合TOF技术和双目视觉的深度信息获取装置及其方法. 背景技术: 近年来,深度信息在传感器中获得了越来越多的应用.获 ...
最新文章
- Linux操作系统CentOS7.2发行版本的安装与配置
- RDKit | 基于RDKit绘制带原子索引的分子
- Mysql 获取当月和上个月第一天和最后一天的解决方案
- C#中方法的参数四种类型(值参数、ref、out、params)详解
- 电商平台应该分析哪些数据?具体怎么去分析?
- linux 切换python版本_linux下多个python版本切换如何设置
- js - 浅拷贝和深拷贝
- UNIX网络编程--读书笔记
- Apache Nifi 实战:多表导入实现及填坑 GitChat连接
- mysql错误码1709_MySQL5.6出现ERROR 1709 (HY000): Index column size too large问题的解决方法...
- phpcmsV9 关于phpcms根目录下ico图标,改了没效果的解决办法?
- qcow2磁盘格式分析
- gradle命令无法识别
- 2.15.9.menuconfig的实验学习思路
- utf-8编码用于asp出现乱码的问题--从数据库调用的是乱码
- codesmith执行时提示“调用的目标发生了异常”的处理过程经验。
- 【Java后台开发规范】--- 日志的输出
- 太阳时角、太阳高度角、天顶角、太阳方位角和剖面角计算的Python程序
- 杨辉三角 SDUT
- Hadoop伪分布和全分布部署指南
热门文章
- 工业控制系统信息安全与信息安全、功能安全的区别【转自工控工程网】
- python 的就业前景怎么样?
- CF896C Willem, Chtholly and Seniorious
- Hash:兔子与兔子
- 付款条件Payment Terms
- 关于Menu的根菜单项背景图片
- 计算机会议影响因子排名,计算机国际顶级会议列表及其影响因子计算机国际顶级会议列表及其影响因子.doc...
- 定位技术课程设计-微信小程序校园导游系统
- NB-IoT系列协议--3GPP--Release 16--TS 45.820--低吞吐量物联网(CIoT)
- 圣何塞州立大学计算机科学课程,圣何塞州立大学院系专业介绍