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

手写原生代码专题 | 图片拖拽效果(一)

二、 图片拖拽效果介绍 本篇文章,如下视频所示,界面有5个方格拖放区域,我们可以在这些区域里拖拽图片,当鼠标拖动图片时,图片周围有灰色边框效果提示用户当前元素可拖动,可放置图片目标方格会出现白色虚线边框并且背景色更改为黑色...,给图片定义5px宽灰色边框。...拖动至目标位置元素时,为了让用户更直观感受到哪些位置是可以放置目标元素,我们需要给其定义 hovered 样式,进入目标位置元素时,样式发生改变,背景为黑灰色,并有白色边框虚线。...为了适应小屏幕,五个方格由水平排列更改为垂直居中排列。...鼠标放下时,拖拽动作结束,触发dragend事件,我们定义 dragEnd() 函数,图片元素容器样式更改为fill。

2.2K30

全面屏下新交互方式

: 第一种:原来16:9屏幕改为18:9 这种方式实现起来非常简单,成本不高,可以屏幕做长或者屏幕做瘦,都能达到这个效果,采用硬件技术就能实现,软件再跟进优化就可以了,市面上有很多18:9屏幕号称是全面屏...1.Home Indicator 这个是苹果提出,就是屏幕下方一个黑色横线,可以概括为三个功能点: 点击上滑可以返回主屏幕 上滑停顿进入多任务界面 直接左右滑动,切换应用 我们可以发现,这里倾向于滑动类型交互...如图所示,白色区域占位符为App图标(或者信息),下方灰色区域为根据当前页面生成缩略图,不仅仅是信息整合展示,能够让用户眼球移动距离最小情况下获取最需要信息,同时可以完成单手操作(似于分屏功能...4.屏幕利用率 这个是要特别注意,手机屏幕更大了,那么一些App设计时候要考虑到是否需要充分利用屏幕,比如可以选择上下留出一部分空白边框,让图片完全显示全面屏上,当然还可以放大切割图片,达到完全显示全面屏上...除了上面这些之外,我认为还有一些可以设计产品交互时候用到,如边缘手势,屏幕左右两侧滑动时实现某种功能(调节声音、亮度等);小屏幕功能(显示内容缩小,展示屏幕左下角或右下角中),能够满足一部分热衷于小屏幕用户

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

重磅!iOS应用黑暗模式设计终极指南(附套件下载)

03 系统背景色 根据准则,iOS背景始终具有#000000黑色。Google 则喜欢深灰色,值为#121212。 ? 苹果将此背景称为“ 系统背景”。...例如,如果您不希望基准色是纯黑色,而是深灰色,则可以轻松地代码中分配自定义颜色。瞧!这就是与开发人员进行“和谐”对话所需全部知识。...在上图中,您可以看到相机和笔图标触摸目标,我使用了灰色。对于搜索栏,我使用了填充色。 那么,是否必须以这种方式使用这些颜色?不。如前所述,你可以随意使用所有10种颜色(4种填充+ 6种灰色)。...08 强调色(Tint Color) Apple提供了9种不同强调颜色,可在整个应用程序中使用。它们可用于文本,图标或形状。我下面的强调色改为不同颜色,你会发现他们会变成这样: ?...但是,这9种颜色亮模式和暗模式下略有不同。如果您选择使用这些系统强调颜色,则该应用程序将自动亮模式色调颜色更改为暗模式色调颜色。 ? 你会发现亮模式和暗模式下颜色是稍有差异,请务必注意。

3.2K10

使用 SetWindowCompositionAttribute 来控制程序窗口边框和背景(可以做 Acrylic 亚克力效果、模糊效果、主题色效果等)

GlassFrameThickness 属性可以设置窗口边框粗细,设置为 0 导致窗口没有阴影,设置为负数将使得整个窗口都是边框。...如果不指定 GradientColor 也就是保持为 0,你看到上面绿色部分全是黑色;嗯,包括阴影部分…… ---- 不使用 WindowChrome Windows 7 上: 可以看出...,指定了边框部分颜色会更深(换其他颜色叠加可以看出来是叠加了半透明黑色)。...---- 使用 WindowChrome Windows 10 上,获得焦点时候整个背景是系统主题色;而失去焦点时候是灰色,但边框部分是深色。...叠加颜色亚克力特效 ACCENT_INVALID_STATE 黑色边框为纯白色) 以上特效之下,WindowChrome 可以让客户区覆盖非客户区,或者让整个窗口都获得特效,而不只是标题栏。

92160

深入理解屏障技术

通过这两个阶段,就可以令不能利用内存空间重新得到利用。 那应该标记哪些对象呢?其核心思想是判断一个对象是否可达,因为一旦某个对象不可达就可以立刻被GC回收。...可以看到,STW范围涵盖标记和清除全部阶段,这个期间应用程序都是卡住,整个过程耗时大约在百毫秒-秒数量级,这对应用程序影响还是挺大。...为了通俗理解三色标记,可以颜色分一个等级关系:黑色>灰色>白色,对象引用关系要符合颜色等级顺序,就是黑色不能直接引用白色。黑色可以黑色黑色可以灰色。...先来看强三色不变性,黑色对象不会指向白色对象,只会指向灰色对象或者黑色对象,根据定义,就是黑色不能指向白色,具体做法是遇到黑色指向白色对象,强行将白色对象改为灰色对象。...别急,先看下面Go1.8中混合写屏障操作规则: GC开始栈上对象全部扫描并标记为黑色 GC期间任何在栈新创建对象都标记为黑色 堆上被删除对象标记为灰色 堆上被添加对象标记为灰色 可以看到,GC

87220

Refactoring UI

设计中是否边角修圆以及修圆程度会对整体感觉产生很大影响。...好调色板可以分为三类 灰色 文本、背景、面板、表单控件--界面中几乎所有的东西都是灰色 你需要有 8-10 种色调可供选择 真正黑色看起来会很不自然,所以从深灰色开始,然后逐渐过渡到白色...(红色、绿色和蓝色)和三个局部最大值(黄色、青色和洋红色) # 通过旋转色调改变亮度 通常,当想改变颜色亮度时,可以直接调整亮度 虽然这样做可以使颜色变浅或变深,但往往会失去一些颜色强度--颜色看起来接近白色或黑色...# 阴影与互动相结合 可以在用户与元素交互时提供视觉提示 # 阴影有两个部分 有时候会将两个阴影结合一起使用 第一个阴影更大、 柔和, 具有相当大垂直偏移和较大模糊半径,模拟是直接光源物体背后投下阴影...,并给该形状添加背景色 # 不要缩小屏幕截图 可以小屏幕截图,空间大,就不用缩得那么厉害 考虑只截取部分截图,这样就可以更小空间内显示,而无需缩小比例 如果你确实需要在狭小空间内放置整个应用程序截图

54830

Python Seaborn (1) 艺术化图表控制

(http://seaborn.pydata.org/tutorial.html) 一个引人入胜图表非常重要,赏心悦目的图形不但能让数据探索中一些重要细节容易被挖掘,也能更有利于与观众交流分析结果过程中吸引观众注意力并使观众们容易记住结论...seaborn默认灰色网格底色避免了刺目的干扰,对于多个方面的图形尤其有用,是一些复杂工具核心。 Seabornmatplotlib参数分成两个独立组。...黑色背景 white 白色背景 ticks 应该是四周都有刻度线白背景?...用despine()进行边框控制 white和ticks参数样式,都可以删除上方和右方坐标轴上不需要边框,这在matplotlib中是无法通过参数实现,却可以seaborn中通过despine(...一些图边框可以通过数据移位,当然调用despine()也能做同样事。当边框没有覆盖整个数据轴范围时候,trim参数会限制留存边框范围。 ?

1.2K20

使用Galera部署MariaDB集群

Shiny应用程序部署到Web上方法有很多种; 本教程使用Shiny ServerLinode上托管示例Shiny应用程序。 要安装所需软件包,请首先添加Galera存储库密钥。...这些文件预先填充了一个演示应用程序,该应用程序创建R内置Old Faithful数据集交互式直方图。编辑server.R以根据您喜好调整直方图格式。...例如,要使用黑色边框条形更改为红色: hist(x, breaks = bins, col = 'red', border = 'black') 要在本地测试项目,请单击文本编辑器右上角“ 运行应用程序...例如,要使用黑色边框条形更改为红色: hist(x, breaks = bins, col = 'red', border = 'black') 要在本地测试项目,请单击文本编辑器右上角“ 运行应用程序...例如,要使用黑色边框条形更改为红色: hist(x, breaks = bins, col = 'red', border = 'black') 要在本地测试项目,请单击文本编辑器右上角“ 运行应用程序

1.2K00

.NET 深度指南:Colors

这个中间点亮度从 0 缓慢递增到 255,我们可以得到比如说红色(FF0000)和黄色(FFF00)之间所有色调。...注意:对于灰色(即 R、G 和 B 有相同值),色调和饱和度都没有定义,只有亮度有意义值。我们也可以说,黑色灰色和白色都不是色彩。黑色 0000 亮度为 0,白色 FFFFF 亮度为 1。...仅靠亮度来控制白色、灰色黑色外观有一个奇怪后果,我们可以在下一张图中看到。 我们现在已经涵盖了显示器可以显示所有色彩了吗?...比方说,我们首先将 FF8000(一种橙红色)饱和度改为 50%,得到 FFC080。当我们再把亮度改为 50% 时,得到 806040。现在色调仍然是橙红色,但色彩接近于深灰色。...任何色彩饱和度和亮度提高到 100% 我选择匹配色彩方法中,最好从饱和度和亮度为 100% "纯色"开始,然后再进行混合,使其变得更深或亮。

40020

CSS3简单动画效果与使用列表制作菜单

@keyframes里有两个属性:form和to,form属性用于定义动画开始,form里需要定义好样式初始状态。...之后样式描述里需要使用animation属性来引用规则并且定义一个动画完成时间,单位可以是秒或毫秒。 代码示例: ? 运行结果: ? ? ?...使用百分比方式能够细化方式去定义动画渐变过程样式,例如从0%到25%背景颜色就会从红色渐变到蓝色,然后再从25%到50%背景颜色就会从蓝色渐变到灰色,50%到75%背景颜色就会从灰色渐变到黑色,...50%到75%背景颜色就会从黑色渐变回红色,所以每定义一个%就相当于一个节点,一个渐变节点。...有时候我们会发现元素无法紧贴浏览器边框: ? 在这是因为bodymargin属性默认值为10px,bodymargin属性改为0px就不会有这样现象了。 代码示例: ?

1.7K40

Adobe Photoshop,选择图像中颜色范围

3.选择显示选项: 选区预览由于对图像中颜色进行取样而得到选区。默认情况下,白色区域是选定像素,黑色区域是未选定像素,而灰色区域则是部门选定像素。 图像预览整个图像。...5.使用“颜色容差”滑块或输入一个数值来调整选定颜色范围。“颜色容差”设置可以控制选择范围内色彩范围广度,并增加或减少部分选定像素数量(选区预览中灰色区域)。...灰度完全选定像素显示为白色,部分选定像素显示为灰色,未选定像素显示为黑色黑色杂边对选定像素显示原始图像,对未选定像素显示黑色。此选项适用于明亮图像。...3.为进行准确肤色选择,请选择“检测人脸”,然后调整“颜色容差”滑块或输入一个值。 为了有助于您进行选择,请确保显示选项设为“选区”,并选择选区预览以文档窗口中查看选区。...“图层”面板中,单击“蒙版”缩览图。缩览图周围会显示一个边框。 单击选项栏中选择并遮住。您可以使用选择并遮住工作区中选项修改蒙版边缘,并以不同背景查看蒙版。

11.1K50

16个小UI设计规则却能产生巨大影响

选择单一无衬线字体,并使用具有较高小写字母和适当行高字体,提升可读性。同时,避免过度使用大写字母,因为它们难以阅读。此外,避免使用纯黑色文本,采用较暗灰色可以提高可读性并减少眼部疲劳。...使用空间将相关元素分组 信息分解为相关元素小组可以帮助结构化和组织界面,这让人们更快、容易地理解和记忆。...我们例子中,内容之间缺乏空间使得设计看起来混乱且难以理解。增加间距有助于清晰地内容分组,使其更有组织性,容易理解。...我们例子中,图片周围白色空间和边框增加了不必要视觉复杂性。它们并不需要传达信息或分组元素,所以我们可以安全地移除它们,以简化设计。 6.有目的地使用颜色 有节制且有目的地使用颜色。...颜色亮度巨大差异使得我们眼睛工作更加艰难。白色背景下,避免使用纯黑色是最安全选择,可以选择使用深灰色我们例子中,纯黑色多个元素上使用。将其改为灰色有助于提高可读性。

30920

Canvas绘制平行线以及解决直线模糊问题

可以从上图看到已经绘画出了两条直线作为平行线。但是有以下两个问题: 绘制直线默认宽度为多少? 从对比边框border1px来看,直线看上去有2px宽度。...其实这个直线绘制宽度默认也只有1px,那么怎么会看起来有2px呢? 绘制直线默认颜色是什么? 直接看上去直线颜色像是灰色。但是其实默认颜色是黑色。那么怎么看起来像是灰色呢?...直线模糊以及黑色灰色问题原理 其实在绘制直线时候,默认是绘制1px宽度,但是绘制直线中轴线位置是坐标轴刻度上,如下: ?...另外因为两边线宽度都被强行扩展,这样就导致黑色扩展变为了灰色。 解决模糊问题方法 只要偏移直线中轴线位置不在刻度上就可以了,如下图: ? 那么下面平行线其中一条进行偏移看看,代码如下: ?...y轴方向进行偏移0.5px,浏览器显示如下: ?

1.6K20

ArcGIS Pro定位器地图制作心得

World_Continents颜色更改为Apple Dust。World_Countries_(Generalized)颜色更改为Spruce Green。 符号轮廓并不是必须。...8.World_Continents图层透明度更改为35 %。这可以增加两种绿色之间对比度。 布局中,插入一个新地图框并选择您新定位器地图。 激活新地图框。...定位器地图有黑色边框,不用担心。删除它就好了。 元素窗格中,显示选项卡上,边框改为0 pt。...您可以本文中了解有关布局文本更多信息。 使用混合模式。 尝试底图上添加此全局背景图层,然后尝试更改其颜色和混合模式。...id=9d87b96d48714e7ca9c89ab63f2c3cd7 使用屏幕混合模式灰色画布底图变为粉红色。 使用颜色混合模式制作黑白版本影像底图。

2.9K30

MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

一、创建对话框应用程序框架    之前创建HelloWorld程序是单文档应用程序,生成了多种窗口,如果用它来讲创建对话框的话可能有些复杂,对大家单纯理解对话框有点 影响,所以这里就再创建一个基于对话框应用程序...我们可以Solution Explorer视图中看到,此工程文件要比单文档应用程序多,Class View中主要有三个类:CAboutDlg、CAdditionApp 和CAdditionDlg...Resource View视图中可以看到工程Addition资源树,展开Addition.rc,下面有四个子项:Dialog(对话框)、Icon(图标)、String Table(字 符串表)和Version...三、设置对话框属性    Addition对话框模板上点击右键,然后右键菜单中选择Properties,则在右侧面板中会显示对话框属性列表。如下图: ?    ...此处默认为Addition,我们将其修改为“加法计算器”。    3、Border:边框类型。有四种类型:None、Thin、Resizing和Dialog Frame。

3.5K10

SceneKit 场景编辑器-为您AR体验构建3D舞台

为了能够应用程序中添加3D模型,我们需要一个3D渲染器框架。本节中,我们将了解SceneKit场景编辑器。这是一个很好空间,可以帮助您可视化3D模型,编辑它,播放动画,模拟物理等。...转到材质检查器,再次“ 着色”更改为“ Blinn”并指定漫反射颜色为黑色。 表冠 现在,我们将在侧面增加表冠。转到对象库,选择一个圆柱体并将其放在场景中。...“ 对象库”中,选择“ 胶囊体”并将其拖动到场景中。 胶囊体大小 “ 属性”检查器中,“ 帽半径(Cap radius)”更改为0.3,“ 高度”更改为1.5。...“ 属性”检查器中,“ 内半径”更改为2.3,“ 外半径”更改为2.5。该高度也将是2.5。 管子颜色 粉红色Apple Watch手镯颜色与表壳略有不同。所以我们要为它挑选另一种颜色。...双击该框节点图标以调整视图。正如你所看到,一旦我调整了盒子大小,它所有孩子都一样。 预览观看场景 我们如何才能真实地看到手表应用中外观?运行应用程序,您可以按cmd+ R了。

5.5K20

创建华丽 UI 7条规则 第一部分 (2019年更新)

最近用户体验设计师们热衷于“移动优先”设计。这意味着, Retina 屏幕中,得想象页面上交互一个手机上是否行得通。 这种限制是有好处,这有助于简化思想。...从较难问题开始(小屏幕上可用应用程序),然后采用容易问题解决方案(大屏幕上可用应用程序)。 这里有另一个类似的结束:黑白优先。...这是一个可靠和简单方法,可以应用程序看起来 “干净” 和 “简单”。在过多地方使用过多颜色很容易搞砸设计简单和干净。...永远不要使用黑色 (伊恩·斯托姆·泰勒):这篇文章谈到完全平面化灰色几乎从来没有出现在现实世界中,同时它也提到了如何饱和灰色阴影 — 尤其是深色阴影 — 为设计增添了视觉丰富性。...另外,饱和灰色其实贴近现实世界,这是它最美的地方。 Adobe Color CC:一个非常棒工具,用于查找、修改和创建配色方案。

1.2K40

每位 Gopher 都应该了解 Golang 语言垃圾回收算法

从根节点开始遍历所有白色对象,遍历到对象颜色由白色改为灰色灰色对象作为根节点开始遍历所有白色对象,遍历到对象颜色由白色改为灰色,并将作为根节点灰色对象颜色由灰色改为黑色。...循环往复,直到所有灰色对象颜色都变为黑色剩余白色对象全部清除。 三色标记缺点: 一个不被灰色对象可达白色对象,如果被一个黑色对象引用,将会造成该白色对象丢失问题。...强三色不变性,即强制性不允许黑色对象引用白色对象; 弱三色不变性,即黑色对象可以引用白色对象,但是必须满足一个条件,该白色对象必须有灰色对象对它直接引用,或者是可达链路中包含灰色对象。...混合写屏障: 后续无需 STW,GC 首次执行时,先将栈上所有对象都标记为黑色。 GC 执行过程中,栈上新创建对象,默认被标记为黑色。 将被删除对象标记为灰色。...尽管 Golang 语言可以自动进行垃圾回收,但是 GC 也会消耗资源,尽量还是在编写 Golang 代码时候减少对象分配数量,采用对象复用、小对象组合成大对象或采用精准数据类型,比如可以使用

1.4K10
领券