手机清洗机灭屏后上面写没有选任何图片怎么清理

html5 上传本地图片处理各种问题 - 简书
html5 上传本地图片处理各种问题
这是最近给公司写一个项目,项目要求大概是这样子:
1.上传手机本地图片,然后裁剪(后加的需求)
2.能够旋转图片,用于裁剪(后面加的需求)
3.填写各种文字,选择颜色,之后把文字和2个相关的图片,水印到裁剪的图片上,上传服务器生成一个图片地址,返回,分享出去。
功能就是大概上面这些,其他的也就是各种小功能,不提了,技术选型说下,整体上使用 Vue(包括 router,resource,webpack等等)
那么这几个需求怎么做呢:
1、 本地上传,使用 html5 的 File Api 拿到图片的base64编码,赋值给img的src(坑1,2),然后弹出一个图层,进行裁剪,最开始裁剪是在img的上面套一个div来进行坐标计算,计算完了使用canvas来截取图片,然后取值(坑3)。
2、这个功能就是使用canvas的旋转图片解决,需要注意的是,旋转的时候要保持横纵比,而且要注意宽高的大小(坑4)。
3、使用canvas来叠加水印和图片即可,主要是注意坐标。
那么说说坑:
1、拿到src的base64编码,看似没有问题,实际上有个巨大的问题,很多图片在手机上显示为竖屏,但是拿到的base64编码,直接赋值给img的src后,发现是横屏的。最开始发现这种情况,以为是个别现象,最后不断尝试之后,发现是个非常普遍的情况,特别是IPhone手机,而且还分你选择的图片文件夹,相册和照片流同一张图片,一个横屏,一个竖屏。导致我完全不能理解这是为什么???基本一个下午耗在这个问题上了。
直到晚上回去,问我一个朋友IOS开发的大神,@,他告诉我,因为现在IPhone的摄像头就是横着的,手机里显示竖屏的原因是ios自己做了处理,他们可以根据图片的一个拍摄角度数值来判断横竖问题,但是这个数值在我们web端确拿不到,很是尴尬。那么怎么解决这个问题呢?? ------- 我使用的方案:旋转图片,可以让用户自己去主动旋转图片,选取角度。 还有另外一种解决方案,在坑2也用到,后面讲。
2、除了这个横屏之外,android手机有的上传,选择了图片之后,没有任何反应,我开始一度认为原因是不支持html5的File Api,所以没有显示出上传的图片,后面就各种debugger,发现原因是没有触发Input标签的change事件,而且不管怎么样都没有办法触发,为了解决这个问题,查阅了各种官方文档和stackoverflow之后,发现可以给 type="file"的input添加两个属性来表示手机上传图片。
&input type="file" name="image" class="file-choose" id="file" accept="image/*" v-on:change="chooseFileChange($event)" capture/&
这样添加了 accept 和 capture之后,有问题的android手机,在选择图片的时候,有好几个文件夹,可以选择了,其中有的可以上传,有的不行,经常仔细的测试发现,sd卡上的图片是拿不到的,也就不会触发change事件,因为没有root权限去拿文件数据。又是一个无解问题,因为你的web在浏览器里面,权限就是低啊,(不得不吐槽下web的权限问题,妈蛋)怎么解决问题呢??? 绕过去,也就是说如果你的页面是嵌套在你们公司自己App里面的,就让App帮你,那么我们项目是微信传播的,一定在微信浏览器里面,所以可以调用微信的JSSDK的选择图片接口,他是可以越过这些权限,而且还有一个好处,就是解决坑1的问题,他会处理横屏问题,就是把看着竖屏,实际横屏的上传时都处理为竖屏,但是代价也不小,你要选择图片,拿到一个key,然后继续调用sdk传到微信的服务器,拿到一个serverid,这个id传给自己的服务端,让他们通过这个id,去微信下载图片到自己的服务器,返回给你一个Url。过程很曲折,而且下载次数有限制(可以跟微信申请加载限制);
3、我们继续说坑,以上问题,解决了之后,就是裁剪了,开始我使用的方案是这样子的,获取到base64之后,赋值给一个img,然后在这个img上进行框选移动,计算坐标然后裁剪,pc端完全没有任何问题,效率很高,但是放到微信上面测试,发现3个问题(妈蛋,手机端就是坑,一个功能,3个不同的问题),第一个问题,大家都知道现在手机像素高,图片不小,上传过来之后,base64也不小,放到img的src中其实就是内存中了,导致整个微信特别容易崩溃(就是崩溃,他就崩溃了,微信就崩溃了---三遍),第二个问题,使用vue的on来绑定touch事件,响应很慢,移动一点都不平滑,而且也会崩溃,没错,又崩溃了。第三个问题,旋转要使用canvas转化,先去图片数据,转完后,在给图片src赋值,很麻烦。
解决方案: 统一使用canvas,不要再用img,知道裁剪完成了,把img的base64拿到就行,而且导出的时候,使用jpeg不要是png,降低一些画质,我觉得完全没有影响,也就是图片的裁剪,旋转都是canvas,事件建议直接原生绑定。
4、旋转的坑,这个的问题是我们必须保存住原始图片的数据,进行canvas先旋转然后drawImage,要不没有旋转出来,canvas自己的imageData,貌似没有办法旋转,我试了矩阵的方式好像都不行(也可能是自己数学不好!!!如果有人知道,就demo)。
以上就是这次项目,遇到的各种大坑,其他都是小的地方,不过总体来说,完成了任务,并且使用了新的技术Vue.js。Vue的component还是非常好用的,注意父子关系,props的继承就没问题了。
欢迎大家交流相关技术, 如果对Vue感兴趣,可以加QQ群: ,。
求打赏,求关注微博。O(∩_∩)O哈哈~
最后附上活动网址,微信客户端打开才能使用:
欢迎各位参与玩耍。
阿里巴巴-- 前端
最近迷上了潜水和公路车
weibo:http://weibo.com/gxiaogui?wvr=4&lf=reg
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
来源 https://zhuanlan.zhihu.com/p/ 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇 的番外篇,因为严格来说不是在讲Python而是讲在Python下使用OpenCV。本篇将介绍和深度学习数据处理阶...
计算机图像处理是一门很成熟的技术,任何一门可操作系统接口的语言都能很轻易的实现各种处理操作。但是前端限于浏览器环境和接口限制,处理起来会有诸多不便,这里所说的前端图像处理,是真的指**不借助任何后端服务**纯前端实现的图像处理。本文会介绍canvas位图处理,SVG矢量图和...
CSS 绝对底部 - 前端 - 掘金来自国外的设计达人,纯CSS,可以实现: 当正文内容很少时,底部位于窗口最下面。当改变窗口高度时,不会出现重叠问题。甚至,创造该CSS的人还专门成立一个网站介绍这个CSS底部布局方案。不知道他有没有去申请专利:)&!DOCTYPE htm...
encourage people to do the same things with you Rent an apartment Buying a house is better than renting an apartment A newly couple can s...
文/白茶与情歌 故事应该从乌龟小姐的那次暗恋说起。乌龟小姐的名字叫做六月,她第一次喜欢上一个人,是在自己大三那一年,那个人是她的好朋友。这场暗恋整整耗尽了3年的时光,久到六月已经忘记喜欢他的原因,可是仍旧不愿意放弃喜欢他。 男孩的名字叫做谢昊,他们第一次见面是在一场很尴尬的...
课程主要讨论互联网上数据,尤其指社交媒体上的大数据。例如微博。 话题一:互联网世界的基本结构 人既处于现实社会的社会网络,也处于网络上。互联网上,人可以游移,可以在多个网站来回转移。 以第一财经为例说明传统媒体结构,社会化媒体架构的样子。社会化媒体重构组织的信息传播管理系统...
张文亮曾经有一篇《牵一只蜗牛去散步》的诗文非常流行,内容是这样的: 上帝给我一个任务 叫我牵一只蜗牛去散步。 我不能走太快, 蜗牛已经尽力爬,为何每次总是那么一点点? 我催它,我唬它,我责备它, 蜗牛用抱歉的眼光看着我, 彷佛说:「人家已经尽力了嘛!」 我拉它,我扯它,甚至...
我们经常会说一句话:不忘初心。就是告诉我们自己最初的决定,最初的目标,最初你想活成的模样不要忘记,因为那是你往前前进的力量,要努力活成自己喜欢的样子,哪怕前面是一片荆棘也要跪着走完它。但是不是谁一开始就知道自己想要什么,有什么梦想,就像黄执中在《奇葩说》里面辩论说的“有些人...手机黑屏显示未有选中图片怎么删除_百度知道
手机黑屏显示未有选中图片怎么删除
我有更好的答案
系统内存不足导致死机·
我们先澄清一个概念,我们通常所说的内存,是指系统的缓存,也就是用“显示电量”软件看到的“内存”,这个缓存通常比较小,不到1兆,它是手机储存、内存卡存储和机器自身系统中程序运行时即将用到的数据的缓存区,当手机存储、内存卡存储、机器自身系统和机器cpu之间的数据交换的时候扮演桥梁的角色。这个桥梁,却成往往为机器死机的罪魁祸首,通常的机器死机或多或少都与它有关。以后我们提到的内存,就是这个“内存”而不是什么“手机存储”大家要注意!手机存储相当于我们的电脑硬盘,在手机中和内存卡存储一样,只是存储设备,并不是什么内存(在手机中有一个有趣的现象,就是我们把机器自带的存储部分就叫内存,这的确误导了很多人)。好了,内存到底是什么我们明白了,接下来我们就说说手机存储空间不足为什么会导致死机。·
先举个例子吧:还记得早些年的老电脑吗!它们通常硬盘都不会很大,当我们疯狂向里面存储东西,即将把硬盘塞满但还未满时(比如还剩100多兆空间),电脑经常出现的情况吗?对了!那就是蓝屏。为什么蓝屏呢?不是还有100兆可以用的吗?这就要从电脑的存储数据的原理入手:电脑无论在运行什么程序的时候,都要把这个程序要用到的相关数据从硬盘读出来,存到内存中,然后cpu再把它进行计算时用的数据从内存取出来(这里面还要经过cpu自带的一级二级缓存这个“桥梁”,一级、二级缓存在内存条和cpu之间所扮演的角色就相当于内存条在硬盘和cpu之间所扮演的角色一样,起到加快数据交换的作用),读到cpu中进行计算,要知道cpu从内存条中读数据要比从硬盘直接读数据快的多,这样就大大提高了程序执行的速度。计算完毕后,cpu就执行计算的结果,比如计算结果是执行一条指令:打开文件夹,那么电脑就会把文件夹里的内容显示出来。再比如我们正在输入一篇文档,电脑的cpu通过我们敲击键盘计算出我们输入的是什么文字,那么它把我们输入的文字放在那里了呢,就是放在内存中,直到我们给它一个命令,让它把我们输入的文字“存盘”,它才会把我们输入的内容从内存条中转储到硬盘上。然而事实是,电脑之所以能运行,都是由于有cpu的计算,我们一切的动作,甚至包括显示器显示,包括我们移动一下鼠标,都要经过cpu的计算和指挥,而这些计算和指挥的复杂庞大的中间结果,往往都要暂时存储在内存条中,只有cpu认为内存已经装不下了,或是我们给了电脑一个命令,命令它存盘,才会转存在硬盘上,这个过程中硬盘一直在告诉旋转,随时准备接受从内存转储过来的数据。而cpu这时还要抽出精力来时时检测存储在硬盘上的位置,以便下次再存储时从这个位置接上。而我们的硬盘在装的差不多快满时,往往那点剩余空间都以碎片形式存在,更增加了cpu时时检测存储在硬盘位置上的难度,加上以前的cpu运行速度不是很快,内存条又不是很大,这种转储就要经常进行,这种大量的数据交换造成了cpu疯狂的运算,弄不好就造成死机。这就是为什么电脑剩余空间不多时经常蓝屏或死机的原因。·
好了,说了这么多电脑,无非就是要抛砖引玉,把话题引到我们的手机上,前面说过手机里的存储和内存卡存储都是手机里的存储设备,不是真正的“内存”,只是相当于电脑里的硬盘,而真正的内存是不到1兆空间的“内存”(这个我们通过软件“显示电量”可以看到的,或者是文件管理器里的“系统信息”都可以看到)这个“内存”才是真正相当于电脑里的“内存条”。话说到这里已经很明白了,为什么手机存储空间不足时比较容易死机,smartphone系统和电脑windows系统的相通之处,对照上面的电脑蓝屏,不用再多说了吧。·
大家都用OxiosHibernat这个释放内存的软件吧,有没有注意到一个很有趣的现象?那就是无论你在什么情况下,无论你的系统有多么慢,无论你在释放内存之前用了什么程序,只要你点击了OxiosHibernat来释放内存,被释放的内存从来都没有超过888k,这就对了,因为“存储内存”本身才888k,你释放的怎么可能超过它呢。我们这个大名顶顶的释放内存软件,释放的就是相当于电脑里内存条和手机里的内存,而不是什么手机存储和内存卡存储。
采纳率:97%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您可能还感兴趣的其他内容华为手机小技巧:你知道华为手机图库照片删除了怎么恢复吗?
近年来华为手机的销量十分可观,它已然成为了街机。所以今天小编就为华为的用户带来华为手机两个方面的操作技巧!
一个是华为手机的照片被误删后的恢复方法;
另一个是华为手机音量上、下键和电源键三个按键的使用技巧。
首先是华为手机的照片被误删后的恢复方法。
想要找回手机中丢失的照片,不妨试试强力安卓恢复精灵!
下载并在电脑上运行软件后,将该华为手机连接到电脑上,软件会自动扫描并与手机连接上;
成功连接手机与软件后,点击【快速扫描】;
接着静待扫描完成即可;
扫描结束后,可以在文件的类型处点击【图片】,接着就可以看到所有被扫描出来的照片了;
勾选想要恢复的文件之后,点击【恢复选中文件】或者【恢复全部文件】即可;
到这里就可以成功找回华为手机图库中被删除的文件了。另外【快速扫描】没有找到你想要的图片,就试试【深度扫描】,操作步骤于【开始扫描】基本上是一致的。
再来说说是华为手机音量上、下键和电源键的使用技巧。
①秒开相机
在熄屏的状态下,按两下音量下键,就可以直接启动相机;
设置方法如下:
依次点击【相机】-【设置】-【锁屏状下双击音量下键】-【启动相机并拍照】即可。
②电子书翻页
在手机上看书的时候,点击手机音量上、下键可以进行翻页;
③快速启动录屏
同时按下华为手机的音量上键和电源键,可以快速开启录屏功能;
④熄屏快呼
在熄屏的状态下,长按音量下键直至手机振动,接着喊出要拨打的好友名字就可以直接拨打对方的号码;
设置方法如下:
依次点击【设置】-【全部设置】-【应用程序】-【更多】-【通话】,打开【息屏快呼】即可。
⑤刷机模式
如果手机突然崩溃或无法启动,同时长按音量下键和电源键,可以进入Fastboot救砖模式,接着就可以通过该模式进行刷机。不过前提是你要懂得如何刷机,否则还是不要胡乱尝试了!
以上两个方面的技巧,希望能帮助你在华为手机上获得更好的使用体验!
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
免费下载微信聊天记录恢复软件,已经有超过60000+人使用!
免费扫描恢复误删除文件,限量提供免费版本下载!
今日搜狐热点手机签到经验翻倍!快来扫一扫!
哪位大神知道手机屏幕碎了,怎么把照片信息取出
2978浏览 / 51回复
类似陈冠希的照片?
插电脑上,用电脑进去手机的照片文件夹,导出照片。
Z豆豆 发表于
插电脑上,用电脑进去手机的照片文件夹,导出照片。
没开启usb调试,不可以啊
观山亲庭 发表于
类似陈冠希的照片?
观山亲庭 发表于
类似陈冠希的照片?
这手机,拍出动作片也看不清
Z豆豆 发表于
这手机,拍出动作片也看不清
其实里面有上次去北京,偷拍观山的照片
怎么碎成这样了?
砸核桃来着?
超级玛利亚 发表于
其实里面有上次去北京,偷拍观山的照片
有观山拍的动作片?拿过来,我帮你导出来。
不错不错。。。
照片不放在内存卡里的吗
自己换屏吧
你试一下手机配送的软件或手机助手软件能不能。
X宝搜索解决换屏方案&本地花大钱维修以后换手机记得用各种云,WIFI状态下自动备份照片能插内存卡的手机记得相机设置照片保存到内存卡
把乌龟扔水里淹死 发表于
自己换屏吧
手机199买的,换屏要350
百达翡丽5065 发表于
怎么碎成这样了?
砸核桃来着?
发火摔的,
超级玛利亚 发表于
发火摔的,
与老公打架了?
下载刷机精灵,碗豆夹,pp助手之类的试试
观山亲庭 发表于
与老公打架了?
你要打我?
wxf2288 发表于
下载刷机精灵,碗豆夹,pp助手之类的试试
360和豌豆试过了
算了吧!让观山再给你传几张写真好了。
支持键盘翻页 ( 左右 )&
用户名/注册邮箱/注册手机号
其他第三方号登录}

我要回帖

更多关于 电脑灭屏时间怎么设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信