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

如果伦敦地铁数据科学家画的……

大数据文摘出品 编译:张秋玥、睡不着的iris、钱天培 我们每天乘坐的地铁一个恢弘的艺术作品。 抛开路线、站点的规划不说,地铁的线路本身就蕴藏了极其精妙的设计。 比如说伦敦地铁。...伦敦的地铁路线图可谓地铁路线图的鼻祖。多年来,它形成的配色与排版方案,造就了它独特的外观和风格,但最令人惊叹的,还是其神来之笔的设计思路。 拥有13条路线,300多个站点,伦敦地铁的结果复杂至极。...我用的Gill Sans,虽然它是非官方字体,但是非常接近(Eric Gill实际上为设计了原始地铁字体的Edward Johnson工作)。 此处生成网络的代码。...如果你熟悉伦敦的区域分布,你会发现很多奇奇怪怪的事情。比如,现在位于伦敦南部的艾坪镇(Epping)而非埃塞克斯(Essex)了。这对用户来说是非常糟糕的。...这张地铁既保证了站点信息的清晰可见,又极大程度地还原了站点的相对地理位置。 更厉害的,合理的信息分布让这一切都能被很好地呈现在一张小纸片上。

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

Fabric.js 使用图片遮盖画布(前景

如果你的常见需要使用图片来遮盖的话,fabric.js 也提供了相应的属性来配置。 相比起使用纯色遮盖画布,使用图片会更复杂。 因为图片本身有尺寸大小的,所以可能会遇到缩放画布、平移画布等操作。...使用图片覆盖画布 如果需要用图片遮盖画布,可以设置 canvas 的 overlayImage 属性,传入的值就是图片地址。 可以使用网,也可以使用本地图片。...覆盖图像不受视口变换的影响 由于图片有尺寸的,如果你的场景中,画布可以缩放或者被拖拽,就会出现下图的效果。 覆盖的图片被缩小或者移动后,就露出了背景色(红色)。...如果不希望覆盖被缩放和平移等操作影响(不受视口变换的影响),可以将 overlayVpt 设为 false 。...锁定背景,不受缩放和拖拽的影响》 里讲到的有点像,对吧~ 所以当看到 fabric.js 的相关属性和方法名称里出现 Vpt ,大概率就和 视口 有关。

1.7K20

H5拖放原生js图片拖放另外一个元素里

如果元素被拖出了放置目标,dragover事件不再发生,但会触发dragleave事件(类似于mouseout事件)。 如果元素被放到了放置目标中,则会触发drop事件而不是dragleave事件。...如果需要设置允许放置,我们必须阻止对元素的默认处理方式,所以会用此方法。...接下来,我们说拖放图片的事例。要求是这样的:有两个body里面有两个空div,几张img。我们要实现的图片可以随意拖放进入div里面,img在div里面可以随便更改位置。...,值event } d2.innerHTML = text; } show(e.dataTransfer);//监听图片 监听结果如下:(ps:你会看到getData()和setData...完整的js应该是这样的: var d1, img, d2, msg; window.onload = function () { d1 = document.getElementById

2K30

什么马赛克图片如果用Python把21057张图片合成一张,会是什么样的

前言 最近有网友私信我,问如何把多张图片合成一张马赛克图片的样子 说是女儿从出生到现在,所有的照片,大概有上百张,所以想使用这些照片合成一张,当做生日礼物 那我们今天就用上次爬表情包的图片来做一次马赛克图片...,2万张合成一张,想想就很激动 图片素材 4K高清原图 开发环境 Python 3.6 Pycharm 开始代码,先导入所需模块 import cv2 import glob import argparse...import numpy as np from tqdm import tqdm # 进度条 from itertools import product # 迭代器 读取图片文件 def parsArgs...(): parser = argparse.ArgumentParser('拼接马赛克图片') parser.add_argument('--targetpath', type=str,...blocksize', type=int, default=15, help='马赛克快的大小') args = parser.parse_args() return args 读取所有源图片并计算对应颜色平均值

68520

看懂编程语言迁移模式:终点站Python、Go、JS

后来微软将BASIC转变成Visual Basic,这可能JS出现之前最受欢迎的编程语言了。选择我们仍然在Excel中使用VB,只不过它改名叫宏。 ?...所以,如果你还在用Perl写Web CGI脚本,那么请继续吧;或者,你可以考虑一下“全世界最好的语言”PHP。 前端编程语言 JavaScript一门编程语言,现在应该已经一个不争的事实了。...然而,Avery指出,正因为JS一个大杂烩,把HTML、CSS、面向对象、函数式编程、动态语言、JIT等等所有涉及到HTML请求的概念,统统囊括进来,导致这个语言特别丑。 ?...我们回头再看这张?,注意一下右下角Python 3和JS: ? 你会看到Python和JS形成了一个循环。为什么会这两个会出现纠缠反复呢?...接下来的TypeScript,可能因为作者Delphi的开发者,Avery对TypeScript给予了很高的评价。 ? 在node.js出现之前,JS被认为就是一门前端语言。

1.3K30

⚡切仔?你知道 V8 如何执行 JS 代码的吗?

大家好,我小丞同学,一名准大二的前端爱好者 这篇文章将带你了解 V8 如何执行 JS 代码的 愿你忠于自己,热爱生活 引言 源代码首先通过解析器解析成 AST ,然后 AST...直接转换会带来内存占用过大的问题,因为如果抽象语法树全部生成机器代码,而机器代码相比于字节码,占用的内存要多的多 这是网上的一张对比 某些 JavaScript 使用场景使用解释器更为合适,解析成字节码...而如果在下次的调用中,传入的参数字符串型,机器代码不知道如何处理,就会返回给解释器解释执行 因此我们尽量不要把一个变量的类型变来变去,这样会对 V8 引擎带来一些影响,损失一定的性能 ---- 以上就是...V8 执行 JS 代码的具体流程 在网上看到的一张(侵删),很形象,excalidraw 上不去,不然我一定自己做了 参考资料 《V8如何执行一段JS代码的?》...《【干货】8分钟带你了解V8引擎如何运行JS!》 非常感谢您的阅读,欢迎提出你的意见,有什么问题欢迎指出,谢谢!

1.2K20

⚡切仔?你知道 V8 如何执行 JS 代码的吗?

大家好,我小丞同学,一名准大二的前端爱好者 这篇文章将带你了解 V8 如何执行 JS 代码的 愿你忠于自己,热爱生活 引言 源代码首先通过解析器解析成 AST ,然后 AST 再通过解释器解释成最终的字节码...生成字节码 在有了 AST 和作用域之后,就可以生成字节码了,字节码介于AST 和机器码之间的一种代码,可以不需要将其转换成机器码后再执行,字节码可以理解为机器码的一种抽象。...直接转换会带来内存占用过大的问题,因为如果抽象语法树全部生成机器代码,而机器代码相比于字节码,占用的内存要多的多 这是网上的一张对比 某些 JavaScript 使用场景使用解释器更为合适,解析成字节码...而如果在下次的调用中,传入的参数字符串型,机器代码不知道如何处理,就会返回给解释器解释执行 因此我们尽量不要把一个变量的类型变来变去,这样会对 V8 引擎带来一些影响,损失一定的性能 ---- 以上就是...V8 执行 JS 代码的具体流程 在网上看到的一张(侵删),很形象,excalidraw 上不去,不然我一定自己做了

1.2K20

企鹅电竞weex实践之UI篇

由于weex和H5两套不同的技术方案,代码组织方式、构建工具、和开发侧对接方式都会不同。...下图电竞重构稿H5与weex目录结构对比,之前H5开发基于jinja模版,采用grunt构建,在release中生成相应的html文件,而weex则主要在src中开发组件,采用webpack编译,最终会在...2、避免在image标签上使用v-for,否则会导致安卓上图片渲染异常(如slider中的图片)。 4、透明度 以下涉及到颜色的相关属性对透明度的支持度列表。...这种布局方式在css中要做到很容易,而在weex中利用提供的flex布局确很难实现,最后的解决方案通过js动态设置文字与标签父级的宽度,从而控制文字的溢出。...但是当中遇到一个诡异问题:如果“div.indicator-item”的内容为空的话,H5中的指示器并不会随着图片切换而变化(样式不生效),div中需要添加内容才行。

95520

H5 前端性能测试实践

图一到四可以简单分类,图一 App 负责做的事情,主要是初始化 Webview 上下文;后面三张则是一个H5页面加载的过程。...第四个用户直观看到的第一屏页面,我们通常称为首屏。 ?...如下图所示,页面需要等图片和 css 加载出来后才能展示,js 也是外链资源,不过一般来说,只要放在 html 底部加载,就不会阻塞页面的渲染和展示。 ?...想要获取 H5 真机耗时,一种方式 js 代码进行上报;另一种对于 Android 设备,可以用 remote-debug 的方式远程调试真机页面。...四、总结:H5 前端性能测试方案 当然,前端性能不仅仅表现在白屏、卡顿问题,也有可能手机过度发热等等。

1.2K20

仿百度排列图片预览插件-Simple Lightbox

很久以前遇到过这样的一个面试题,要求手写代码,实现百度图片的排列预览,并且可以左右点击查看下一张照片,当时没有做出来,这个问题也就一直放在了脑后,工作之后,遇到这样的需求之后,第一反应想到的在源码网站里面找一个插件...效果如下,多张图片错落有致的排列,点击每一张图片都会按照固定的长度和宽度预览展示。 ?...地址:https://github.com/andreknieriem/simplelightbox Simple Lightbox 一款基于 jQuery 的 Lightbox 插件,它具有以下特点...: 响应式设计 触控/触摸友好 提供多项配置 图像预加载 支持 iOS / Android / Windows phone 使用 CSS3 过度效果,并回退兼容旧浏览器 支持 jQuery 1.x 和... </script

1.6K20

React Native 性能优化指南

:onLoadStart/onLoad/onLoadEnd/onError loading 默认 or loading 指示器 …… 但是,如果你要把它当一个图片下载管理库用时,就会非常的难受,因为...4.多加载 都快到 5G 时代了,短视频/VLog 大家都天天刷了,更不用说多场景了,基本上已经互联网应用的标配了。 讲图片加载前先明确一个概念:图片文件大小 != 图片加载到内存后的大小。...,如果图片尺寸增加一倍,图片在内存里的大小按平方倍数增长的,数量一多后,内存占用还是很恐怖的。...resize:小容器加载大的场景就应该用这个属性。原理图片解码之前,会用算法对其在内存中的数据进行修改,一般图片大小大概会缩减为原图的 1/8。...2.床定制图片 一般比较大的企业都有内建床和 CDN 服务,会提供一些自定制图片的功能,比如说指定图片宽高,控制图片质量。当然一些比较优秀的第三方对象存储也提供这些功能,比如说?

5.1K190

H5动效的常见制作手法 - 腾讯ISUX

对,答案必须设计师们都非常熟悉的gif小动画了,H5动效制作的第一手法,便是GIF了。...H5页面承载GIF图片的方式相对以下要介绍的其他方法,最省成本,最为简便的。只需要以背景图片/内容图片的形式在页面上进行引用即可。...动效制作手法2:逐帧动画 逐帧动画即是利用一张等间距的动画分解逐帧图片,由js脚本模拟编写或是使用css3新属性step()制作而成。step()在移动端的兼容性很好的,但使用比较小众。...做一个逐帧动画必不可缺的就是需要一张等间距的“动画分解逐帧图片.png”,再通过JavaScript脚本或CSS3 animation的过度函数step() 来控制图片的background-position...这里必须要注意的点如果你想制作一个SVG动画,请一定要使用AI工具绘制输出矢量给到工程师同学哦。 ? ?

4.7K21

前端女程序员教你,图片加载时,使用 SVG 作为图片 placehold

默认占位符:比如说用户想要查看个人资料显示头像内容,如果请求失败或者没有上传过图片,那么通常会使用默认占位符(这种占位符一般会使用 SVG 资源)。 纯色:从图像中获取颜色,并作为背景颜色。...图片过度时候回显得比较平滑(pinterest就是使用这种方式)。 模糊的图像:这种方式会获取原图的缩略图并对其进行渲染,等图片加载完成再过度到原图。...基于 SVG 的 placehold SVG 矢量图像的理想选择,但是大部分情况需要显示位图,我们需要考虑的如何将位图转换成矢量,下面提供几种转换方案。 1....使用矢量作为 placehold 有一个很好的优点小,例如上图 10 个图形的矢量仅仅只占了 1030 个字节,当通过 SVGO 来传输时,代码还能减少到 640 个字节。...6. node-potrace(js)可以将原图转换成矢量。 请点击此处输入图片描述 7. Craft 3 CMS 也添加了对剪影的支持 —— Potracio(php)。

1.6K90

css写作建议和性能优化小结

简单的解决方法使用替代@import。 14.从PSD文件思考怎么写代码 接到效果,先不用着急切,先看下psd文件。...以背景方式显展示需要的icon,如果一个网站有20图标,那么就要请求20次,使用cssSprite,只需要请求一次,大大的减少了http请求。...一般来说,8K以下的图片才转换成base64编码。如果把一张50K的图片转成base64编码,那么会生成超过65000个字符的base64编码,字符的大小就已经将近70K了!...2.动画和过渡能用css3解决的,就不要使用js如果复杂的动画可以使用css3+js(或者html5+css3+js)配合开发,效果只有想不到,没有做不到。...就是出现横向的滚动条,但是body的宽度900px。这个时候,如果有元素(比如图片的灰色区域和粉红色的图片相对body的width设置100%,那么实际上这些元素的宽度也就是900px。

78920

Vue项目团队代码规范

,本文记录一些在项目code review中常见的规范,仅供参考 JS部分 和渲染无关的数据 vue中data的数据默认便会进行双向数据绑定,若是将大量的和渲染无关的数据直接放置在data中,将会浪费双向数据绑定时所消耗的性能...Object.freeze()冻结的值,这时仍然可以将变量的引用替换掉,还有确保数据不会变才可以使用这个语法,如果要对数据进行修改和交互,就不适合使用冻结了。...功能的开发过程中,图片的处理往往比较容易被忽略的环节,也会在一定程度影响开发的效率和页面的性能 图片压缩问题,除非特别要求图片必须高质量的显示,否则都应该进行对应的压缩处理 不同业务场景进行图片格式的选型...JPG 适用于呈现色彩丰富的图片,JPG 图片经常作为大的背景、轮播或 Banner 出现等 Logo、颜色简单且对比强烈的图片或背景、需要透明度等 将常用且变动频率很低的小图片进行合并成雪碧...,若是过度扁平化会导致数据命名空间冲突,参数传递和处理,若是层级嵌套过深也会导致vue数据劫持的时候递归层级过深,若是嵌套层级丧心病狂那种的,小心递归爆栈的问题。

1K30

H5开发移动端APP基于H5+

不足: H5开发APP的不足在与原生的相比,有些场景暴露的很彻底。比如一些过度动画,手势操作,任务异步处理等 , 还有一些访问相册、图片处理底层设备硬件之类的。这些地方表现的有明显的不足。...开发工具框架之类的太多,如果一个不熟悉前端的新人过来,几乎不知道该如何下手。 所以对于一些业务逻辑简单,没有复杂的操作处理的应用,H5开发再好不过。...在开发过程中,使用了强大的Vue.js作为列表的数据渲染和事件绑定。值得一提的或许由于初次接触这个框架,它给我一种震撼的感觉,数据绑定、事件处理及关联实在太方便了。...一些图片引入了阿里巴巴字体库 , 关于如何引入自定义的字体库,这一点官方文档写的很清楚。 大多操作使用H5+ 这一强大的基础库,官方号称有50多万个API,几乎涵盖了原生操作的方方面面。...效果1.png ? 效果2.png 看效果怎么样,是不是和原生的一模一样???? 目前已实现了很大一部分的功能,后续有时间还在继续完善。完善后的代码我会放到GitHub上供大家学习参考。

1.6K10
领券