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

html5前端图片压缩

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

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

    HTML5图片预加载

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

    2.8K20

    HTML5 拖拽上传图片实例

    ,一种拖拽上传,一种常规的选择文件上传,另外的就是添加网络图片。...它很巧妙的把三种上传模式整合到了一起,而且你可以用IE浏览器浏览下,如果不支持HTML5,是没有拖拽上传图片的提示的,如图:   拖拽上传最重要的就是js部分的代码,它实现了70%的功能,另外30%仅仅是把图片信息提交到后台...fileList.length == 0){ $('.dashboard_target_box').removeClass('over'); return; } //检测文件是不是图片...主要实现代码是从“功能实现”开始的,这块具体为何这样操作,原理是什么,我就不多说了,大家可以参考下这篇文章:《人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata...文章最开始提到,还有点击选择文件上传和网络图片,因为这2个不属于这次的主题范围内,就不说了。况且这2个功能实现起来都不麻烦。 demo下载

    2.7K30

    html5实现图片预览功能

    我们在上传图片的时候往往需要预览,目前大部分的网站,总结起来用三种方式来实现: 第一种最为常见,需要和后端配合。...点击上传图片的input,触发input的onchange事件,在onchange事件中向后端提供的接口发送图片信息,之后返回的数据中包括图片的url,再将url赋值给img的src属性从而实现图片预览...当然,前端的朋友会产生疑惑,图片是以什么形式传递到后端呢?针对这个我会单独写一篇文章来阐述,现在暂不详述。简单来说,表单形式传递图片会修改entype属性,这里一般会用formdata实现。...FileReader实例化的对象上有个方法:reader.readAsDataURL(参数), 这个方法是个回调函数,参数为上面获取的包含图片信息的file对象,readAsDataURL读取图片信息对象完成后...,会触发reader上的onloadend事件,该事件的回调函数中的数据就是datebase64化后的图片信息,将其插入到图片的img的src图片展现。

    6K40

    HTML5 Canvas开发详解(3) -- 图片操作

    所谓的绘制图片,其实就是把一张图片在Canvas中显示出来。...3.1.1 绘制一张图片 语法: //image:表示页面中的图片 //dx、dy:表示图片左上角的横坐标和纵坐标 drawImage(image, dx, dy) 示例代码: //绘制图片 drawImg.../dx、dy:表示图片左上角的横坐标和纵坐标 //dw、dh:定义图片的宽度和高度 drawImage(image, dx, dy, dw, dh) 示例代码: //绘制图片 drawImg(){...//sx、sy:表示源图片被截取部分饿横坐标和纵坐标 //sw、sh:表示源图片被截取部分的宽度和高度 //dx、dy:表示图片左上角的横坐标和纵坐标 //dw、dh:定义图片的宽度和高度 drawImage..., 200, 50, 180, 180, 80, 15, 120, 120); }, 示例效果: 3.2 平铺图片 语法: //image:表示被平铺饿图片对象 //type:表示图片平铺方式 //type

    94420

    在触屏设备上面利用html5裁剪图片

    前言 如今触屏设备越来越流行,并且大多数已经支持html5了。针对此。对触屏设备开发图片裁剪功能, 让其能够直接处理图片。减轻服务端压力。 技术点 浏览器必须支持html5,包含fileReader。...思路 利用filereader直接读取本地图片。然后赋予一个图片。该图片及裁剪框的位置计算跟pc端一样,可是触发的事件不一样,触屏版是依据触屏事件触发的。...非html5无法完毕这个过程。 执行结果 这仅仅是一个demo,也是最初的雏形,当然不会太好看了,可是基本实现功能就可以。 部分代码 <meta name="Description" content="<em>HTML5</em>...点击<em>图片</em>上传选择后将载入预览<em>图片</em> var Options={ width:300, height:300, cutWidth:150, cutHeight:200,

    1.4K20

    用CSS制作可交换带事件处理的图片按钮

    按钮是网页最常用的控件了,怎样设计一个更好看的按钮,这两天试验了几种方法:       1、用Javascript交换图片的方式先在网页中制作图片,然后把图片转换为服务器端控件,为该控件添加事件处理...不过,很遗憾,运行时不响应,我估计跟图片交换了有关。       2、按钮在交到页面时,其实就是一个input,那么用css写一个样式就ok了。...3、再试HyperLink,为它写css,结果图片交换没有问题,可是又无法把按钮事件加上。       4、最后,用LinkButton,仍然以LinkButton的ID写css,然后把文字去掉。...结果,交换图片效果和事件处理都能兼顾。       也许还有更好的办法吧,不过这样已经比较简单了。只要改css就基本搞定一切了。

    1.4K50

    html5中如何解决canvas图片跨域问题-canvas无法导入远程图片

    今天我们来说说在开发中比较常谈及的问题,那就是跨域问题,我们就来说说在:“html5中如何解决canvas图片getImageData,toDataURL跨域问题?”这个问题吧!...三、HTML crossOrigin属性解决资源跨域问题 在HTML5中,有些元素提供了支持​CORS(Cross-Origin Resource Sharing)​(跨域资源共享)的属性,这些元素包括...根据,根据实践发现,在IE浏览器下,如果请求的图片过大,几千像素那种,图片会加载失败,我猜是超过了blob尺寸限制。...六、结束语 那么这就是有关于:“html5中如何解决canvas图片getImageData,toDataURL跨域问题?”...未经允许不得转载:肥猫博客 » html5中如何解决canvas图片跨域问题-canvas无法导入远程图片

    2.3K60

    计算机网络之数据交换(电路交换,报文交换,分组交换)电路交换报文交换分组交换分组交换与电路交换

    电路交换 报文交换 分组交换 如何实现数据通过网络核心从源主机到达目的主机? 就要经过网络核心进行数据交换,数据不断从一个网络交换到另一个网络,直到到达目的主机。...数据交换主要有三种: 电路交换 报文交换 分组交换 电路交换 最典型电路交换网络:电话网络 电路交换的三个阶段: 建立连接(呼叫/电路建立) 通信 释放连接(拆除电路) 电路交换是独占资源的,建立连接之后...image.png 分组交换 分组:报文分拆出来的一系列相对较小的数据包 分组交换需要报文的拆分与重组 分组交换相对于报文交换会产生额外开销,因为i要进行数据的拆分和重组 ?...image.png 报文交换与分组交换均采用存储-转发交换方式 区别是: 报文交换以完整报文进行“存储-转发” 分组交换以较小的分组进行“存储-转发 两种方式各有各的特点,下面我们就具体的分析 首先从发送速率上来说...分组交换的报文交付时间的计算公式: ? image.png 分组交换与电路交换 分组交换允许更多用户同时使用网络!——网络资源充分共享 分组交换绝对优于电路交换

    1.9K10
    领券