最近接到的一个新需求:页面一个静态H5,中间有一页是输入信息,然后跳转到最后一页,自动将页面生成图片,用户可以长按图片保存到手机上. 展示一下最后一页的样子: 刚拿到这个需求,在网上看了很多文章,最普遍的是使用 html2canvas + canvas2image  来实现.于是,跟着前人的脚步,踏上了一个不断采坑采坑采坑的旅程. 下面直接描述我在做这个需求过程中遇到的问题以及解决办法吧: 1.html2canvas 图片跨域: 这个问题网上很多解决办法: 这个是最常用的, 刚开始我只是加了红色…
踩了一个巨坑. 目前微信ios/android 均能长按保存src=base64的图片  (微信android x5 专门解决了这个问题); 但是android其他App没有针对解决这个系统问题(姑且认为是问题吧),所以长按base64图片 无法出现保存选项,而是出现了默认的"选择.复制.粘贴 "; 尝试使用blob也不行; 所以目前能解决的办法只有通过后台绕一圈; base64 --> 后台 ---> url blob 转 base64 function blobToDa…
这是一个非常实用的功能,在网页里难免会出现一些尺寸过大的图片,会将页面撑开或者图片被部分隐藏,我们通常会用css的max-width来加以 控制,但ie6却不吃这套.我在做一个站时,就遇到这种困惑,因为最近也在学习jQuery,就想到用jq来处理这个问题.经过一番思索,觉得这个问题其 实并不难,下面就具体来说: 一.思路: 要解决尺寸问题,首先要先获取图片的宽和高,然后定义一个最大宽度,进行判断,如果实际宽度大于设定的最大宽度,那么就让实际宽度等于最大宽度,至于高度就按照高宽比进行比例缩小即可.…
本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 重说三,好了,现在进入正文.在上一回<从web图片裁剪出发:了解H5中的blob>中我解释了图片在浏览器中以怎样的形式留存,并且在最后一个example中演示了选择图片.预览最后提交的过程.然而这个预览并没有起到什么卵用,因为只能预览不能处理,原图片还是原图片,预览变得可有可无.这一篇我们就在预览这一步里做点手脚,加…
本文部分转自  http://www.jianshu.com/p/00ff5664e000 现有3类主流APP,分别为:Web App.Hybrid App(混合模式移动应用,Hybrid有“混合的”意思). Native App(原生app,后面都用“原生app”来描述). Hybrid APP指的是半原生半Web的混合类App.需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web . 现在不少app已经使用H5页面来代替原生页面(Hybrid…
Hybrid App中原生页面 VS H5页面   现有3类主流APP,分别为:Web App.Hybrid App(混合模式移动应用,Hybrid有"混合的"意思). Native App(原生app,后面都用"原生app"来描述).Web App和原生app有很多大牛们都做过比较详细的比较以及优劣势分析,我主要对Hybrid App来简要分析下,谈谈Hybrid App里原生页面和H5页面的比较和分析. Hybrid APP指的是半原生半Web的混合类App.需…
查看本章节 查看作业目录 需求说明: 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理.距离远时图片放大,距离近时图片缩小 随着鼠标的移动,实时计算鼠标与图片中心点的距离,在输入框中显示图片的缩放系数 放大倍数不超过3 倍,缩小不小于50% 实现思路: 在页面上编写输入框用于显示缩放系数,并使用<img>标签显示一幅图片 获取图片中心点的坐标 获取鼠标移动时的坐标 使用勾股定理计算出鼠标与图片中心点之间的距…
简述 微信中通过页面直接打开app分为安卓版和IOS版,两个的实现方式是完全不同的. 安卓版实现:使用腾讯的应用宝,只要配置了“微下载”之后,打开链接腾讯会帮你判断本地是否已经安装了app,如果本地安装就直接打开,没有安装的话就是腾讯微下载的页面进行app下载,当然微下载的页面腾讯提供了几个模板,可以自己选择和修改. IOS实现:ios像直接点击链接打开本地app就难了,有两种方式可供我们选择: 1.腾讯深度合作的公司,微信可以帮你打开app: 2.使用IOS9+的新功能“Universal L…
5页面经常会遇到此类需求.将最后的结果页转换为图片长按保存.下面介绍一下实现此需求的过程 1,依赖安装 cnpm install html2canvas --save 2,依赖引入,使用 绑定 初始化 由此,页面转换为图片完成…
在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作--预览旋转合成> 这次有时间就实现一个功能稍微多点的海报. 一.概要 第一屏 第二屏 第三屏 总共有三屏,第一屏是选择图片,第二屏是合成图片,第三屏是显示结果图,可保存分享朋友圈. 页面内容不是很多,分析起来也比较简单. 1)每一屏的左右边距相同,上边距各不相同. 2)屏幕内的元素,大部分是居中,有些特…