Solid

html5 canvas+js实现ps钢笔抠图(速抠图 www.sukoutu.com)

笑着哭i 提交于 2020-08-05 00:08:58
html5 canvas+js实现ps钢笔抠图( 速抠图 www.sukoutu.com ) 根据html5 canvas+js实现ps钢笔抠图的实现,aiaito 开发者开发了一套在线抠图工具, 速抠图sukoutu.com 是一款公益性质的免费在线快速抠图工具, 支持支持8倍高清钢笔抠图、矩阵抠图、图片压缩、图片尺寸调整等,该工具旨在为用户提供更快捷高效的抠图服务。 1. 项目要求需要用js实现photoshop中钢笔抠图功能,就用了近三四天的时间去解决它,最终还是基本上把他实现了。 做的过程中走了不少弯路,最终一同事找到了canvans以比较核心的属性globalCompositeOperation = "destination-out", 属性可以实现通过由多个点构成的闭合区间设置成透明色穿透画布背景色或是背景图片,这样省了许多事。 2.实现效果: 鼠标点完之后会将所有的点连成闭合区间,并可自由拖拉任一点,当形成闭合区间后,可在任意两点之间添加新点进行拖拉。 3.实现思路: 设置两层div,底层设置图片,顶层设置canvas画布(如果将图片渲染到画布上,抠图时会闪烁,所以至于底层),在画布上监视 鼠标事件反复渲染点及之间连线,形成闭合区间后将整体画布渲染小块背景图片,并将闭合区间渲染透明色。并把点的相对画布 坐标记录或更新到数组中去。截完图后,将点的坐标集合传回后台

【2020Python修炼记】前端开发之 CSS基础布局

亡梦爱人 提交于 2020-08-04 19:51:12
【目录】 一、布局相关的标签 二、盒子模型 三、浮动 (有个即刻偷师学艺的方法—— 在浏览器里,打开一个设计很棒的网页,鼠标点击右键,选择“检查”,即可查看网页的HTML+CSS代码和相对应的布局位置) 一、布局相关的标签 二、盒子模型 1、什么是盒子模型 # 就以快递盒为例 快递盒与快递盒之间的距离(标签与标签之间的距离 margin外边距) 盒子的厚度(标签的边框 border) 盒子里面的物体到盒子的距离(内容到边框的距离 padding内边距) 物体的大小(内容 content) # 如果你想要调整标签与标签之间的距离 你就可以调整margin # 浏览器会自带8px的margin,一般情况下我们在写页面的时候,上来就会先将body的margin去除 <! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < title > Title </ title > < meta name ="viewport" content ="width=device-width, initial-scale=1" > < style > body { margin : 0 ; /* 上下左右全是0 /*margin: 10px 20px; !* 第一个上下 第二个左右*! */ /* margin:

Js--DOM详解

99封情书 提交于 2020-08-04 18:38:14
Js--DOM详解 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 概念 Document Object Model 文档对象模型 将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行CRUD的动态操作 W3C DOM 标准被分为 3 个不同的部分: 核心 DOM - 针对任何结构化文档的标准模型 Document:文档对象 Element:元素对象 Attribute:属性对象 Text:文本对象 Comment:注释对象 Node:节点对象,其他5个的父对象 XML DOM - 针对 XML 文档的标准模型 HTML DOM - 针对 HTML 文档的标准模型 核心DOM模型 Document:文档对象 创建(获取):在html dom模型中可以使用window对象来获取 window.document document 方法: 获取Element对象: getElementById() : 根据id属性值获取元素对象。id属性值一般唯一 getElementsByTagName():根据元素名称获取元素对象们。返回值是一个数组 getElementsByClassName():根据Class属性值获取元素对象们。返回值是一个数组 getElementsByName():

左边导航 右边分屏 框架实现

心已入冬 提交于 2020-08-04 18:23:35
左边导航,点击右边 跳转对应页面 实现: CCC2.html #主框架代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数据操作平台</title> <style> html, body { width: 100%; height: 100%; padding: 0; margin: 0; } .container { width: 100%; height: 100%; display: flex; } .left { flex: 0 0 200px; padding: 10px; margin: 0; } .left li { cursor: pointer; } .left li:hover { color: blue; } .right { flex: 1; border: 1px solid #000; } </style> </head> <body> <div class="container"> <ul class="left"> <li class="item" frameSrc="{{ url_for('FenLan') }}">B2C落地页_数据操作</li> <li class="item" frameSrc=#>第二个iframe</li> <li class=

e chart

﹥>﹥吖頭↗ 提交于 2020-08-04 16:34:44
store.load(function (records, operation, success) { // 正态分布图 var chart1Panel = Plantpanel.down('panel[name=NormalDistributionChart]' ); var chart1Id = chart1Panel.getId(); var myChart1 = echarts.init(document.getElementById(chart1Id)); // XBAR图表 var chart2Panel = Plantpanel.down('panel[name=XBARChart]' ); var chart2Id = chart2Panel.getId(); var myChart2 = echarts.init(document.getElementById(chart2Id)); // R图表 var chart3Panel = Plantpanel.down('panel[name=RChart]' ); var chart3Id = chart3Panel.getId(); var myChart3 = echarts.init(document.getElementById(chart3Id)); myChart1.clear(); myChart2

判断文本是否溢出/hover显示全部

北城以北 提交于 2020-08-04 12:25:41
前言 在工作中我们经常会遇到,文字过多,需要用省略号,并且鼠标hover的时候 还需要 显示全部的文字的需求。 正文 文字过多需要用省略号的实现:上代码啦 .ellipsis { width : 100% ; text-overflow : ellipsis ; overflow : hidden ; white-space : nowrap ; display : inline-block //块级标签不需要 } 如何得知这个是否溢出呢?关键词:clientWidth 和scrollWidth: 代码奉上: // 我是在react中实现 componentDidMount () { // 在did mount 中判断是否溢出 const node = this .ref.current // 判断的dom节点,使用ref const clientWidth = node.clientWidth const scrollWidth = node.scrollWidth if (clientWidth < scrollWidth) { this .setState({ // 把是否溢出的状态存在state中,之后从state中拿值使用 overflow: true }) } } // 在普通js中实现,方法一样,取到dom,判断clientWidth 和scrollWidth

《重构-代码整洁之道TypeScript版》第3天

自闭症网瘾萝莉.ら 提交于 2020-08-04 09:33:02
今天让我们来继续第3天,老规矩先来回顾一下昨天我们都实现了哪些: Change Reference to Value(将引用对象改为值对象) Change Value to Reference(将值对象改为引用对象) Collapse Hierarchy(折叠继承体系) (图片:博格达峰) 什么是重构 ? 简单理解就是不改变软件可观察行为的前提下,改善其内部结构,以提高理解性和降低修改成本。 1. 这是如下我们要实现的目标任务列表(每天进步一点点⏰) [x] Consolidate Conditional Expression(合并条件表达式) [x] Consolidate Duplicate Conditional Fragments(合并重复的条件片段) [x] Convert Procedural Design to Objects(将过程化设计转化为对象设计) [ ] Decompose Conditional(分解条件表达式) [ ] Duplicate Observed Data(复制“被监视数据”) [ ] Encapsulate Collection(封装集合) [ ] Encapsulate Downcast(封装向下转型) [ ] Encapsulate Field(封装字段) [ ] Extract Class(提炼类) [ ] Extract

NX二次开发-UFUN求对象的最大边界框UF_MODL_ask_bounding_box

痴心易碎 提交于 2020-07-29 06:10:42
1 NX9+ VS2012 2 3 #include <uf.h> 4 #include <uf_obj.h> 5 #include <uf_modl.h> 6 #include <uf_part.h> 7 8 UF_initialize(); 9 10 // 遍历当前显示部件所有体 11 std::vector<tag_t> SolidVector; 12 tag_t ObjectTag = NULL_TAG; 13 int Type, SubType, Body_Type; 14 int Count = 0 ; 15 char msg[ 256 ]; 16 UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_solid_type, & ObjectTag); 17 while (ObjectTag != NULL_TAG) 18 { 19 UF_OBJ_ask_type_and_subtype(ObjectTag, &Type, & SubType); 20 if (SubType == UF_solid_body_subtype) 21 { 22 UF_MODL_ask_body_type(ObjectTag, & Body_Type); 23 if (Body_Type == UF_MODL_SOLID_BODY

超好看的博客园皮肤 Sakura~

二次信任 提交于 2020-07-29 03:58:34
(。・∀・)ノ゙嗨,我的博客又更新了!(其实可能已经被我改回去了) 点这儿点这儿,传送门吖~ 注:网页有时候要刷新一遍才能显示出来哦,不知道为啥🌚 是不是很好看? 但是很多东西还在研究中,(才被我改回去的)所以代码不三不四的,先放上来吧,也欢迎提修改意见哟~ 上代码 : css样式 .cnblogs-markdown .hljs { display : block ; color : #333 ; overflow-x : auto ; background : #F2F4F5 !important ; border : none !important ; font-family : Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important ; padding : 1em !important ; font-size : 14px !important } .hljs-comment, .hljs-meta { color : #969896 } .hljs-emphasis, .hljs-quote, .hljs-string, .hljs-strong, .hljs-template-variable, .hljs-variable { color : #df5000 } .hljs-keyword

sass npm 安装使用小记

删除回忆录丶 提交于 2020-07-28 13:28:12
npm 安装sass cnpm i sass -g 查看sass版本信息 sass -version 使用sass sass 是css的预处理器,是css扩展语言,可以帮助我们减少css重复的代码,sass扩展了css3,增加了规则 变量 混入 选择器 继承 内置函数等等特性。文件后缀为.scss; sass变量可以存储以下信息: 字符串 数字 颜色值 布尔值 列表 null值 sass变量使用$符号: $variablename:value; $primary:blue; 这是全局变量 !global 设置局部变量为全局的 h1 { $myColor : green !global ; } 注意:所有的全局变量我们一般定义在同一个文件中,可以使用@include来包含该文件 Sass的嵌套规则选择器类似于HTML的嵌套规则 Sass嵌套属性 很多css属性都有同样的属性,可以使用嵌套属性来编写它们: demo: 编译后: Sass @import Sass可以帮助我们减少css重复代码,节省开发时间。 我们可以安装不同的属性来创建一些代码文件,如:变量定义的文件 颜色定义的文件 字体相关的文件等。 Sass导入文件 类似css,sass支持@import指令 @import指令可以让我们导入其他文件等内容。 css @import指令在妹子调用时,都会创建一个额外deHTTP请求