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

Annotorious.js 入门教程:图片注释工具

最近有工友问我前端怎么给图片做标注。使用 Fabric.js 或者 Konva.js 等库确实可以实现,但多少觉得有点大炮打蚊的感觉,好奇有没有专门做图片标注的工具呢?...-- 引入js --> <script src="https://cdn.jsdelivr.net/npm/@recogito/annotorious@2.7.10/dist/annotorious.min.<em>js</em>...Annotorious 的用法很简单,只需做以下2步: 在html部分插入<em>图片</em> 初始化 Annotorious,并绑定<em>图片</em>元素(元素的ID或者元素本身) CDN 和 NPM 在初始化时的用法稍微有点不同...svg.a9s-annotationlayer .a9s-selection-mask { fill:rgba(0, 0, 0, 0.6); } /* 编辑器 */ /* <em>容器</em>...vocabulary: [ '雷猴', '鲨鱼辣椒', '蝎子莱莱'] } ] }) 多边形选框 使用 setDrawingTool(toolName) 方法可以设置不同的绘制<em>工具</em>

25310

JS 图片压缩

前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,...文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?...压缩思路 涉及到 JS图片压缩,我的想法是需要用到 Canvas 的绘图能力,通过调整图片的分辨率或者绘图质量来达到图片压缩的效果,实现思路如下: 获取上传 Input 中的图片对象 File 将图片转换成...,后续会有详细介绍 转换后的图片生成对应的新图片,然后输出 优缺点介绍 不过 Canvas 压缩的方式也有着自己的优缺点: 优点:实现简单,参数可以配置化,自定义图片的尺寸,指定区域裁剪等等。...上传存储图片如果需要对文件大小格式有要求的,可以统一压缩处理图片 前台页面想要编辑图片,可以在 Canvas 处理图片的时候,加一些其他逻辑,例如添加文字,剪裁,拼图等等操作 当然温馨提示:因部分接口有

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

js拖拽上传图片

有时候,在开发中,需要遇到拖拽上传图片的需求,即从磁盘选中一张或多张图片,然后按着鼠标把图片拖动到页面上指定的区域,实现图片的上传。...1、后端上传图片的接口 我是之前用vue写一个简单的后台系统的时候,用Java的SpringMVC+MyBatis的框架写了一个简单的后台管理的一些接口,刚好有一个上传用户头像的接口,该接口是把上传后的图片存储在另外一台...Tomcat下,这里就直接使用这个接口来上传图片。...ie=edge"> Document <script src="https://cdn.bootcss.com/jquery/1.12.0/jquery.<em>js</em>...里面用的formData对象来上传<em>图片</em>的,该对象的作用是:   1、用一些键值对来模拟一系列表单控件,即把form中所有表单元素的name与value组装成一个queryString;   2、异步上传二进制文件

18.1K30

VMware容器工具AppCatalyst

VMware的AppCatalyst是为Mac OS的Docker开发者量身定制的工具,可快速部署Docker Container的开发测试环境,并且对云原生应用运行做了大量优化。...目前在Mac上进行Docker容器的开发,需要使用VirtualBox或者VMware Fusion来虚拟Linux环境。...AppCatalyst还带来了全新的CLI和REST API,取代了原来Fusion老旧的VIX API,并且自带REST调试工具Swagger,很方便和各种工具链集成,例如Docker Machine...基于微服务的应用一般需要多个容器同时运行,这需要对容器进行编排发布等操作。通过AppCatalyst的API可以自动化这个过程。...如果需要测试容器的编排发布,可以使用AppCatalyst内置的Swagger调试工具。Swagger是业界最好用的REST工具,可以通过UI输入REST API的参数来交互式测试: ?

53620

重学JS-3-一图掌握JS容器

思维导图 容器 定义:与数据类型无关的数据结构 容器的类型 顺序容器 vector:向量 list:双端列表 stack:栈 queue:队列 关联容器 map:映射 set:有序集 顺序容器 vector...这些顺序容器,在JavaScript中是Array这个内置对象(js是基于对象的语言)。...js中,Map和Set是ES6标准新增的数据类型,参考廖雪峰老师的教程 https://www.liaoxuefeng.com/wiki/1022910821149312/1023024181109440...弱容器不可迭代,同样也不支持clear、size、keys、values。 弱容器中的对象,只有其在某个地方能被访问的时候,才能留在容器中。 第三点,参考下面这个例子。...// cache.js let cache = new WeakMap(); // 计算并记结果 function process(obj) { if (!

1.2K30

详解 JS 压缩图片

插播一下,本文案例已整理成插件,已上传 npm ,可通过 npm install js-image-compressor -D 安装使用,可以从 github 下载。...如果你有足够的耐心多传几种类型图片就会发现还存在如下问题: 压缩输出图片寸尺固定为原始图片尺寸大小,而实际可能需要控制输出图片尺寸,同时达到尺寸也被压缩目的; png 格式图片同格式压缩,压缩率不高,还有可能出现...压缩输出图片寸尺固定为原始图片尺寸大小,而实际可能需要控制输出图片尺寸,同时达到尺寸也被压缩目的; 为了避免压缩图片变形,一般采用等比缩放,首先要计算出原始图片宽高比 aspectRatio, 用户设置的高乘以...如果图片尺寸过大,在创建同尺寸画布,再画上图片,就会出现异常情况,即生成的画布没有图片像素,而画布本身默认给的背景色为黑色,这样就导致图片“黑屏”情况。...将改进版图片压缩整理成插件,已上传 npm ,可通过 npm install js-image-compressor -D 安装使用,可以从 github 下载。 整理匆忙,如有问题欢迎大家指正,完~

12.6K31

JS实现图片懒加载

懒加载的实现原理 由于网页中占用资源较多的一般是图片,所以我们一般实施懒加载都是对图片资源而言的,所以这里的实现原理主要是针对图片。...大家都知道,一张图片就是一个标签,而图片的来源主要是src属性。浏览器是否发起亲求就是根据是否有src属性决定的。...document.documentElement.scrollTop//获取浏览器窗口顶部与文档顶部之间的距离,也就是滚动条滚动的距离 通过上面三个API,我们获得了三个值:可视区高度、元素相对于其父元素容器顶部的距离...、浏览器窗口顶部与容器元素顶部的距离也就是滚动条滚动的高度。...可能到这里还有一些人不知道怎么实现,我们还是用图来展示一下: 看了这张图,我们就得出了一个判断公式: 如果:offsetTop-scroolTop<clientHeight,则图片进入了可视区内,则被请求

11.4K20

容器安全扫描工具推荐

随着越来越多的应用程序被容器化,容器安全也随之变得越来越重要。在项目的流水线中, 我们可以使用漏洞扫描器进行扫描并提前获得反馈,实现 “安全左移” ,也可以更好的实践敏捷。...基于容器的应用程序的安全痛点 现在,我们使用先进的技术来构建我们的应用程序,如 NodeJS、 Java 和 Kotlin 等,然后将代码库存储在托管的 Git 平台上,如 GitHub、Gitlab...代码库由我们的业务代码和依赖关系组成;对于依赖项,我们可以使用专业的扫描工具来确保安全,比如 NodeJS 的 npm audit , GitHub 的 Dependabot;至于我们的业务代码,可以使用其他的一些安全工具可以扫描...容器安全扫描工具对比 针对上述解决方案,我们调查了 Trivy、Claire、Anchore Engine、Quay、Docker hub 和 GCR 等几种扫描工具,从不同维度进行对比。...参考 Trivy 官网 首先,我们可以将这些扫描工具按照其执行的环境简单分类;因为 Docker Hub、GCR 和 Quay 是需要在服务端也就是容器注册中心运行的, 所以适合方案1;Trivy、Clair

2K30
领券