首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

html5前端图片压缩

如今手机像素越来越高,造成拍出来照片越来越大,随便拍一张就好几兆,于是乎就有了一种需求就是压缩图片,在之前压缩图片功能是在后台操作,之后前端亦可以进行图片压缩功能。...前端进行图片压缩原理很简单,就是利用canvas来进行压缩,js将file框内图片文件读取之后,按照比例绘制到canvas上,然后将canvas保存成图片即可实现了压缩功能。...,调用方法时填入图片允许最大宽度或者是最大高度 //如果最大宽度为0 则按照最大高度固定,宽度自适应方式来实现 //如果是最大高度为0,则按照最大宽度来实现...} } canvas.width =width; canvas.height = height; var ctx = canvas.getContext("2d...base64 $("#myImage").attr("src",thumb); } } 至此,图片压缩功能已经完全实现了

3.6K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HTML5图片预加载

    HTML5中,我们可以使用drawImage方法在canvas上进行画图操作,其基本代码如下: var canvas = document.getElementById("canvas"); var...context = canvas.getContext("2d"); var image = new Image(); image.src = "images/01.jpg"; context.drawImage...(image, 0, 0); 不过我们会发现这样写是无法显示出图片,因为图片并没有加载完全,我们就调用了drawImage方法,我们可以使用imgonload方法,使图片加载完全后 在执行drawImage...('image'); 但是在图片较多情况下,使用上面两种方式都不是太优雅,我们可以使用下面的方法,等待所有图片加载完全后,再执行其他操作 document.addEventListener("DOMContentLoaded...drawImages() { var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d

    2.8K20

    基于HTML5 Canvas实现工控2D叶轮旋转

    之前在拓扑上应用都是些静态图元,今天我们将在拓扑上设计一个会动图元——叶轮旋转。...,你会发现这个节点边框在不停闪动,看起来并不是那么舒服,为什么会出现这种情况呢?...原因很简单,当设置了节点rotation属性后,节点显示区域就会发生变化,这个时候节点宽高自然就发生变化,其边框也自然跟着改变。...在矢量中,好像有数据绑定功能,在手册中是这么介绍: 绑定格式很简单,只需将以前参数值用一个带func属性对象替换即可,func内容有以下几种类型: 1. function类型,直接调用该函数...在2D上可以实现,在3D上一样可以实现,下一章我们就来讲讲叶轮旋转在3D上应用,今天就先到这里,下面附上今天Demo源码,有什么问题欢迎大家咨询。

    1.1K50

    根据 2D 图片构建 3D

    任务 一张图片,就是 3D 物体 2D 平面投影,所以,从高维空间向低维空间转换过程中,必然会丢失一些数据。因此,从单一视图 2D 图像中,永远不会有足够数据来构建其 3D 模型。...所以,要实现从 2D 图像到 3D 模型创建,必须对原来 3D 物体本身有先验知识。 在 2D 深度学习中,卷积自动编码器是学习输入图像压缩表”非常有效方法。...,但使用传统 2D 卷积神经网络来学习先验形状知识。...这是可以实现,因为这些预测视点是固定,并且是事先知道。 输入:预测视点处 2D 投影 输出:点云 伪渲染器 可以推断,应该有必要将预测 2D 投影融合点云中。...将上述三部分结合在一起,我们获得了一个端到端模型,此模型可以用 2D 卷积结构生成器,将单个 2D 图像生成紧凑点云。

    1.4K21

    HTML5 拖拽上传图片实例

    ,以及上传时样式也进行了改动,之所以选这个原因就是,我很容易做扩展,它支持3种方式添加图片,一种拖拽上传,一种常规选择文件上传,另外就是添加网络图片。...它很巧妙把三种上传模式整合到了一起,而且你可以用IE浏览器浏览下,如果不支持HTML5,是没有拖拽上传图片提示,如图:   拖拽上传最重要就是js部分代码,它实现了70%功能,另外30%仅仅是把图片信息提交到后台...主要实现代码是从“功能实现”开始,这块具体为何这样操作,原理是什么,我就不多说了,大家可以参考下这篇文章:《人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata...,我返回信息就是图片地址、名称,还有段imghtml代码,最后在js那边获取到json数组并处理,至此,操作结束。   ...文章最开始提到,还有点击选择文件上传和网络图片,因为这2个不属于这次主题范围内,就不说了。况且这2个功能实现起来都不麻烦。 demo下载

    2.7K30

    基于 HTML5 Canvas 简易 2D 3D 编辑器

    不管在任何领域,只要能让非程序员能通过拖拽来实现 2D 和 3D 设计图就是很牛,今天我们不需要 3dMaxs 等设计软件,直接用 HT 就能自己写出一个 2D 3D 编辑器,实现这个功能我觉得成就感还是爆棚...我们首先将所有需要用到 json 文件作为矢量图输出,矢量图好处是组件上图元缩放都不会失真,并且不再需要为 Retina 显示屏提供不同尺寸图片, 在 devicePixelRatio 多样化移动时代...HT 通过 ht.Default.setImage 函数来注册图片,可以是 base64、jpg、 png 以及 json 格式图片: ht.Default.setImage('edit', 'images...addItem 函数是向 ht.widget.Toolbar 工具条中添加元素,添加元素是从 createItem 函数中传回来元素,我们在这个函数中利用了 vector 矢量创造了一个矩形和一张图片结合体...,我们将之前注册好矢量图传给这个结合体中图片”,然后通过控制这个图片“渲染颜色”,来过滤工具条选中和非选中状态颜色: function createItem(id, iconName, toolTip

    2.2K70

    html5实现图片预览功能

    我们在上传图片时候往往需要预览,目前大部分网站,总结起来用三种方式来实现: 第一种最为常见,需要和后端配合。...点击上传图片input,触发inputonchange事件,在onchange事件中向后端提供接口发送图片信息,之后返回数据中包括图片url,再将url赋值给imgsrc属性从而实现图片预览...可以看出file包含着图片信息:代码再往下面是 new 了一个FileReader ,并且监听是这个对象 onloadend事件,事件内容就是修改imgsrc属性。...FileReader实例化对象上有个方法:reader.readAsDataURL(参数), 这个方法是个回调函数,参数为上面获取包含图片信息file对象,readAsDataURL读取图片信息对象完成后...,会触发reader上onloadend事件,该事件回调函数中数据就是datebase64化后图片信息,将其插入到图片imgsrc图片展现。

    6K40

    基于HTML5 Canvas 点击添加 2D 3D 机柜模型

    例子地址:http://hightopo.com/guide/guide/core/datamodel/examples/example_datamodel.html [图片] 这是我改造之后模样,将...下面我们从头解析这例子,你们会知道为什么我特地将这个简单例子提出来。 首先,我们得创建场景将作为基础,整个场景我算是分为三个部分,顶部工具栏,2D 部分以及 3D 部分。...); g2d.setEditable(true);//设置2d图元可编辑 g2d.fitContent(true);//将所有的图元显示到页面上 splitView = new ht.widget.SplitView...(g2d, g3d, 'v', 0.3);//分割组件,装了2d和3d两个场景 splitView.addToDOM();//将分割组件添加进body中,并设置绝对定位位置 myDiv = document.getElementById...2D 图片显示肯定和 3D 模型显示是不一样2D 中我们直接用贴图就能解决,而 HT 3D 中支持 obj 格式模型显示,就是这个部分: ?

    1.3K80

    html5移动端禁止长按图片保存实现

    在移动端访问H5页面的时候,长按图片就会把图片保存起来,为了能够让用户体验更好一些,我们需要长按时候也不保存图片。那该如何实现呢?下面给出3种解决方案。...方案一:使用 pointer-events:none img{ pointer-events:none; } 亲测有效,适用于微信客户端手机页面,图片被打开情况 方案二:全局css属性 *...当然针对webkit内核浏览器。 user-select 属性是css3新增属性,用于设置用户是否能够选中文本。...; top: 0; bottom: 0; opacity: 0; } .imgbox img{ display: block; width: 100%; } 图片上边加一层...div类似于遮罩层,这样图片就不会被点击,右击或长按也不会出现如图图片另存为选项了。

    3.7K30

    基于HTML5Drag and Drop生成图片Base64信息

    HTML5Drag and Drop是很不错功能,网上使用例子较多如 http://html5demos.com/drag ,但这些例子大部分没实际用途,本文将搞个有点使用价值例子,通过Drag...and Drop生成图片Base64字符串信息。...使用Base64方式图片有诸多好处,可将多个图片信息整合到单个js文件避免多次http请求,可以避免WebGL例子跨域访问安全限制无法本地文件运行等好处,当然弊端也不少例如不能有效利用浏览器图片缓存机制等...使用HT for Web朋友会发现HT例子很多注册图片都采用Base64方式,这主要是为了方便用户直接本地文件打开HT手册即可操作浏览,无需构建web服务器发布进行访问,用户常问然后将图片转出Base64...该工具由一个列表、一个拓扑图和一个文本框三部分组成,用户任意拖拽本地多图片文件到任意页面部分,HT自动将图片信息生成对应DataModel数据模型,列表显示图片效果、名称和宽高信息,拓扑显示图片、修改时间和文件大小等信息

    74340

    基于HTML5Drag and Drop生成图片Base64信息

    HTML5Drag and Drop是很不错功能,网上使用例子较多如 http://html5demos.com/drag ,但这些例子大部分没实际用途,本文将搞个有点使用价值例子,通过Drag...and Drop生成图片Base64字符串信息。...使用Base64方式图片有诸多好处,可将多个图片信息整合到单个js文件避免多次http请求,可以避免WebGL例子跨域访问安全限制无法本地文件运行等好处,当然弊端也不少例如不能有效利用浏览器图片缓存机制等...使用HT for Web朋友会发现HT例子很多注册图片都采用Base64方式,这主要是为了方便用户直接本地文件打开HT手册即可操作浏览,无需构建web服务器发布进行访问,用户常问然后将图片转出Base64...该工具由一个列表、一个拓扑图和一个文本框三部分组成,用户任意拖拽本地多图片文件到任意页面部分,HT自动将图片信息生成对应DataModel数据模型,列表显示图片效果、名称和宽高信息,拓扑显示图片、修改时间和文件大小等信息

    1.1K60
    领券