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

使用OpenGL实现圆角效果

圆角因为其平滑的四边而容易将用户的视线过渡到图形中心,直角矩形因为尖锐的特性导致人眼在图形识别上容易发散 (图片来自参考1) 因此,圆角更容易获得设计师的青睐。...在日常的各类App和网页中,圆角矩形的设计更是随处可见于各类头像、按钮等元素上 (图片来自参考1) 接下来的文章我们基于之前的播放器项目,添加OpenGL实现圆角效果,最终效果如下图所示(播放器叠加了灰度滤镜和圆角滤镜...) 实现思路 矩形圆角的一种实现思路是按照设定的圆角半径在矩形四个角画圆,这样一个完整的圆角矩形拆解为四个角上四分之一圆+中间的十字形图形 先看看shader是如何绘制圆的:先将纹理坐标系转为图片原始的坐标系...,然后根据圆的数学公式判断即可 判断十字区域并进行绘制 四个角弧形区域 最终将两者结合并去掉hard code,圆角半径为50px的效果如下 代码实现 在librender模块中新建RadiusCornerFilter...类并添加Drawer实现 添加filter到RenderManager即可 参考 1.

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

    使用 CSS3 实现圆角效果

    所以减少图片的使用还是速度加快的王道,所以我今天学习了下使用 CSS3 技术不需要图片即可实现圆角,把侧边栏标题背景的圆角效果和搜索框的圆角效果用 CSS3 实现。记录一下以便以后使用。...W3C 很早就制订了实现了 CSS 圆角的 CSS3 属性:border-radius,Firefox 和 Safari 也通过私有属性实现了该功能: 代码非常简单: Firefox 和 Safari 实现圆角... 效果如下: Firefox 和 Safari 使用私有属性实现圆角效果 其中 -moz-border-radius 是 Firefox 实现圆角的私有属性,而 -webkit-border-radius...是 webkit 内核浏览器(如 Safari 和 Chrome)实现圆角的私有属性,如果你只要指定某一个角是圆角的话,它们都分别定义了四个属性: -moz-border-radius-topleft

    50130

    Android UI控件之ListView实现圆角效果

    今天在Android群里面有人再求圆角ListView的实现方式,正好自己以前实现过。因此就共享了现在将其实现方式写在博客中共他人学习。...给出实现方式之前顺带加点自己的想法,感觉上android中方形的ListView还是太“硬性”,没有圆角的有亲和力。连Apple也为了“圆角”这个设计去申请专利。...看来圆角确实比较适合现在人们的喜好吧。 照老规矩先上两张效果图吧: 第一张: ? 第二张: ?...该方式主要就是需要重新去实现自己的ListView代码如下: package com.kiritor.corner_listview; import android.content.Context...setSelector(R.drawable.list_round); } else { // 第一项,设置为上面为圆角的 setSelector

    65500

    使用css3来实现边框圆角效果

    经常看到别人的网站有个边框来修饰文字区域,类似圆角矩形把文字环绕起来,特别有感觉,于是就试着用图片边框来修饰,但是用图片过多会拉慢网页的加载速度,能不能使用css3来实现边框圆角效果呢?...当然border-radius要在firefox或Safari 和 Chrome才能实现 W3C 很早就制订了实现了 CSS 圆角的 CSS3 属性:border-radius,Firefox 和 Safari... Firefox 和 Safari 使用私有属性实现圆角效果; background-color: #ccc;这个表示边框内的底部图片颜色; border: 1px solid #000;...表示边框的宽度,实心的,颜色是黑色的; border-top-left-radius: 55px 25px;表示左上角的边框圆角效果,通过英文就可以识别:top,left,修饰圆角的长度通过控制像素值来实现...来实现边框圆角效果 其中 -moz-border-radius 是 Firefox 实现圆角的私有属性,而 -webkit-border-radius 是 webkit 内核浏览器(如 Safari

    93510

    Android 实现圆角布局

    和尚我最近在处理图片的圆角,不止是四个角全是圆角,还包括单左侧/单右侧/对角线方向的圆角。...因为自己太菜只能寻求网上的大神,发现一个自定义圆角布局,这样可以变相的解决我的需求,还可以实现更多的圆角效果,不仅是图片,还包括其他布局。...这个布局实现方式很简单,大神只提供了默认的四个圆角,这里我添加了一些方法可以动态的设置圆角的位置与弧度,并说明一下和尚我遇到的小问题。...,所以不建议使用 padding 的属性,若要设置边距,建议使用外边距 margin,若使用 padding 不当,会发生效果图中第一行第二个的样式,没有直接效果; xml 中与 Java/Kotlin...圆角布局效果图 /** * 设置左上角圆角弧度 * * @param topLeftRadius */ public void setDrawTopLeft(float topLeftRadius

    2.2K21

    css实现圆角渐变边框

    CSS 实现圆角渐变边框 前情提要 用css实现圆角渐变边框,但border-image与border-radius属性不能同时生效。 tips: 每种方式都有其特点和适用场景。...若仅需实现渐变边框,则用border-image属性即可,详情见:MDN border-image CSS变量 定义一些CSS变量,用于控制容器的尺寸和边框圆角: :root { --outside-border-radius...; --content-border-radius: calc(var(--outside-border-radius) - var(--border-size)); } 方式一:使用伪元素与动画,实现圆角动态渐变边框...使用伪元素 ::before 创建一个覆盖整个容器的渐变背景,并通过CSS动画实现背景的旋转效果,从而形成动态渐变边框。...详见CodePen demo 实现要点 伪元素 ::before:用来创建渐变背景。 overflow: hidden:隐藏渐变背景超出的部分,形成边框效果

    12010

    PHPGrafika 如何实现圆角图片

    PHPGrafika 如何实现圆角图片在网站开发中,圆角图片是非常常见的一种设计元素。使用 PHPGrafika 库可以很方便的实现圆角图片的制作。...PHPGrafika 如何实现圆角图片PHPGrafika 是一款 PHP 图像处理库,它提供了许多图像处理功能,包括剪裁、缩放、旋转、滤镜等等。...下面我们来看看如何使用 PHPGrafika 库实现圆角图片。第一步:安装 PHPGrafika 库在开始之前,我们需要先安装 PHPGrafika 库。...第三步:制作圆角图片要制作圆角图片,我们需要使用 PHPGrafika 库提供的 `roundCorner()` 方法。这个方法接受三个参数:圆角半径、圆角颜色和背景颜色。...总结在本文中,我们介绍了如何使用 PHPGrafika 库制作圆角图片。通过使用 PHPGrafika 库,我们可以轻松地创建各种复杂的图像效果

    21530
    领券