
获得徽章 0
- 怎么检测相同图片
- 1、直接比较两个图片文件的二进制内容,如果完全相同则是同一图片。
- 2、通过哈希值比较(更高效),计算图片内容的哈希值,相同图片的哈希值一定相同
怎么检测相似图片使用差异哈希算法(dHash)
- 1.缩放图片 :将图片缩放到固定尺寸 (9x8),去除细节,保留结构信息
- 2. 转为灰度图 :简化色彩信息
- 3. 计算差异 :比较相邻像素的亮度,如果右边像素更亮则记为 1,否则为 0
- 4. 生成哈希 :将差异结果转换为一个整数哈希值
- 5. 计算汉明距离 **:两个哈希值的不同位数,值越小表示图片越相似展开赞过评论2 - 判断图片是gif,png、jpg
每种图片格式都有特定的文件头标识。以十六进制查看图片文件的开头部分,可根据特定标识判断格式。例如,GIF 文件的文件头以 “47 49 46 38”(十六进制)开头;PNG 文件以 “89 50 4E 47 0D 0A 1A 0A” 开头;JPEG 文件以 “FF D8 FF” 开头赞过32 - UIApplicationUserDidTakeScreenshotNotification 是 iOS 系统中的一个通知名称,用于监听用户进行截屏操作的事件。赞过32
- WKWebview白屏原因:内存占用过大导致 WebContent process 进程崩溃或者挂起
解决方案:
1、当 WKWebView 占用内存过大的时候,会导致 WebContent process crash,会回调 -webViewWebContentProcessDidTerminate:,可在此方法中添加 [webView reload],重新载入页面解决
2、当 WKWebView 占用内存过大的时候(多见于选择相册) ,会导致 WebContent process 被挂起,此情况不会调用 -webViewWebContentProcessDidTerminate: 可以先判断白屏然后再viewWillAppear中[webView reload]
3、 退到后台,再次唤醒出现白屏。在applicationWillEnterForeground中发出通知判断白屏
白屏判断方法:
1、 判断当前webView的title为空。 但是对于本来title就为空的页面不适用。
2、判断当前webview的URL为空或about:blank
3、通过执行JS代码document.body.innerHTML查看页面内容
4、判断webview的WKCompositingView是否存在展开赞过13