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

图层树和寄宿图 -- iOS Core Animation 系列一

如果contentsScale设置为1.0,将会以每个点1个像素绘制图片,如果2.0,则以每个点2个像素绘制图片(这就是Retina屏)。...如图所示,图片会变有点大,而且有像素颗粒感。因为CGImage和UIImage不一样,它没有拉伸感念。用UIImage读取图片时,读取了高质量Retina图片。...假设我们增加原点值,并减小尺寸值,例如将它变为{0.25, 0.25, 0.5, 0.5}将会在寄宿图周围留出一个边框。如下图: ? 上图是借用原书图。...这效果看起来和UIImageresizableImageWithCapInsets:非常类似,它可以运用到任何寄宿图,包括在Core Graphics运行时绘制图形。 ?...这个寄宿图像素尺寸等于视图大小乘以contentsScale。

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

Swift-图像性能优化

Images(拉伸图像->检测图片有没有被拉伸) 会高亮那些被缩放或者拉伸以及没有正确对齐到像素边界图片(也就是非整型坐标) 通常都会导致图片不正常缩放,比如把一张大图当缩略图显示,或者不正确模糊图像...: UIImage, size: CGSize) -> UIImage?...)但是由于是不透明模式,所以看不到下面的颜色,默认看到了黑色背景。...给图像添加边框绘制内切圆形 UIColor.darkGray.setStroke() path.lineWidth = 5 // 默认是'1' path.stroke() 判断一个应用程序好坏...直接UIBezierPath(rect: rect)实例化了一个矩形路径,然后在路径内绘图。但是突然想到不用裁切,不用设置圆形头像边框,突然感觉这样就有点多此一举了,因此将多余代码就都删除了。

1.6K70

【愚公系列】2023年11月 WPF控件专题 Ellipse控件详解

原生控件是由Microsoft提供内置控件,Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见标准用户界面元素。...,设置了控件宽度和高度为50,并设置了填充颜色和边框颜色以及边框宽度。...Stroke属性:用于设置Ellipse边框颜色。StrokeThickness属性:用于设置Ellipse边框宽度。Opacity属性:用于设置Ellipse不透明度。...绘制视觉效果,例如在创建鼠标悬停或按下效果时,可以在控件周围绘制一个圆形或椭圆形边框,并在其中添加阴影或颜色变化等效果。...该控件具有100像素宽度和高度,填充颜色为蓝色,描边为红色,并有一个2像素描边线条厚度。您可以根据需要更改这些属性。我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

57511

Metal入门教程(八)Metal与OpenGL ES交互

前面的教程介绍了Metal图片绘制、三维变换、视频渲染、天空盒,用计算管道实现灰度计算和sobel边界检测,这次探究Metal与OpenGL ES交互。...返回图像 * * @param pixelBufferRef 像素缓存引用 * * @return UIImage对象 */ - (UIImage *)lyGetImageFromPixelBuffer...但是实际效果如下: ? Metal与OpenGL OpenGL ES渲染图片不透明!...但这个并不是问题所在,因为这里只决定三角形区域内像素点颜色,黑色部分为背景,并不受shader影响。 通过上面的猜测,发现问题可能在glClearColor设置了不透明颜色。...CAEAGLLayer不透明属性设置为YES,有利于性能优化,但是在demo里是会造成额外影响! 通过把opaque属性设置成NO,问题终于解决。

2.3K10

iOS-OpenCV之蔡徐坤教你玩转边框

这篇文章就不会重复了,如果不是很清楚读者可以看看第一篇文章。 这篇文章说是素描,其实与广义素描差距很大,准确说应该是叫边框画。 步骤及原理 这里我们还是要先讲述一下步骤,这里先展示下原图 ?...对灰度图片进行高斯模糊 首先,先来讲一下如何进行简单 模糊 处理 在上一篇文章中我们已经讲过了,图片其实就是一个二维数组。 所以图片上每一个像素,都有一个像素数值。...这里假定我们选了一个中心灰度值为190像素点,它周边像素像素灰度值为100(255为纯白色)3*3像素矩阵 模糊处理简单形式就是做平均,也就是将中间点像素点和周围8个像素灰度值取平均值...我们可以直接使用全局二值化来加深边框了(计算速度快)。...只有当原本图像上对应核心周围所有的点都有值时,我们才保留当前核心值。 ? 膨胀: 膨胀则正好相反,我们将给定图片根据给定核放大。 ? 当我们扫描核任意一点上有值时,当前核心点将会被赋值 ?

1.8K30

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

在“载入”窗口中,选择所需预设文件,然后单击“载入”。 文末教程彩蛋 调整蒙版不透明度和边缘 使用“属性”面板可以调整选定图层或矢量蒙版不透明度。“浓度”滑块控制蒙版不透明度。...使用“羽化”,可以柔化蒙版边缘。 其他选项特定于图层蒙版。使用“反相”选项,可以使蒙版区域和未蒙版区域相互调换。“蒙版边缘”选项提供了多种修改蒙版边缘控件,“平滑”和“收缩”/“扩展”。...有关“颜色范围”选项信息,请参阅创建和限制调整图层和填充图层。 更改蒙版密度 在“图层”面板中,选择包含要编辑蒙版图层。 在“图层”面板中,单击“蒙版”缩览图。缩览图周围会显示一个边框。...羽化蒙版边缘 在“图层”面板中,选择包含要编辑蒙版图层。 在“图层”面板中,单击“蒙版”缩览图。缩览图周围会显示一个边框。 拖动“羽化”滑块为蒙版边缘应用羽化效果。...缩览图周围会显示一个边框。 单击选项栏中选择并遮住。您可以使用选择并遮住工作区中选项修改蒙版边缘,并以不同背景查看蒙版。 在“选择并遮住”工作区中单击“确定”,将更改应用于图层蒙版。

11.1K50

【愚公系列】2023年11月 WPF控件专题 Rectangle控件详解

一、Rectangle控件详解Rectangle控件是WPF中用于绘制矩形形状控件。它可以在UI中用于多种用途,绘制边框和填充区域等。...="2"/>在上面的示例中,我们创建了一个50x50红色矩形,并设置了黑色描边和2像素线条宽度。...="2" RadiusX="10" RadiusY="10" Opacity="0.5"/>这将创建一个100x100蓝色矩形,带有10像素半径圆角、黑色描边和2像素线条宽度,以及50%不透明度。...VerticalAlignment和HorizontalAlignment:设置矩形在其容器中垂直和水平对齐方式。Opacity:设置矩形不透明度。...Name:设置矩形控件名称,用于在代码中引用该控件。2.常用场景WPF中Rectangle控件常用于以下场景:绘制矩形图形:Rectangle控件可以用于绘制矩形图形并设置矩形颜色、边框等属性。

41031

关于Adobe Photoshop调整选区介绍

透明度/不透明度:为“视图模式”设置透明度/不透明度。 调整模式 设置“边缘检测”、“调整细线”和“调整边缘画笔工具”所用边缘调整方法。 颜色识别:为简单背景或对比背景选择此模式。...对象识别:为复杂背景上毛发或毛皮选择此模式。 边缘检测设置 半径:确定发生边缘调整选区边框大小。对锐边使用较小半径,对较柔和边缘使用较大半径。...全局调整设置 平滑:减少选区边界中不规则区域(“山峰和低谷”)以创建较平滑轮廓。 羽化:模糊选区与周围像素之间过渡效果 对比度:增大时,沿选区边框柔和边缘过渡会变得不连贯。...移动边缘:使用负值向内移动柔化边缘边框,或使用正值向外移动这些边框。向内移动这些边框有助于从选区边缘移去不想要背景颜色。 输出设置 净化颜色:将彩色边替换为附近完全选中像素颜色。...颜色替换强度与选区边缘软化度是成比例。调整滑块以更改净化量。默认值为 100%(最大强度)。由于此选项更改了像素颜色,因此它需要输出到新图层或文档。

2.4K60

CSS提高文字对比度

向量意味着它们形状是由点和数学来描述形状,而不是实际像素数据。...因为它们是矢量,所以如果我们可以做其他矢量程序(例如 Adob​​e Illustrator)可以对矢量文本做事情,比如在单个字符周围画一个笔划,那就有意义了。好吧,我们可以!...对我来说,只有外部文本笔划对齐看起来有什么好处。不幸是,对于 CSS 和 Illustrator 来说,不可更改默认设置是居中。解决方案只是不要对笔触边框厚度过于疯狂,一切都应该没问题。...您还可以在不规则线条上设置文字(例如围绕圆形)。用网络文本来做这件事当然很酷。也许我们可以设置文本跟随其父元素边框路径。...幻想 作为记录,您可以使用任何类型颜色值作为笔画颜色(十六进制、rgba、hsla、关键字)。这意味着如果你想要透明笔划,它们确实“堆叠”,因为如果笔划彼此重叠(常见),它们会更暗。

1.3K30

实践-小细节 II

opaque也是表示当前UIView不透明度,设置是否之后对于UIView显示并没有什么影响,官方文档意思简单点说就是opaque默认为YES,如果alpha小于1,那么应该设置opaque设置为...如果了解opaque,需要点屏幕绘制知识, 屏幕上每个像素点都是通过RGBA值(Red、Green、Blue三原色再配上Alpha透明度)表示, 当纹理(UIView在绘图系统中对应表示项)出现重叠时..., GPU会按照Result = Source + Destination * (1 - SourceAlpha)公式计算重叠部分像素。...当SourceAlpha为1时,绘图系统认为下面的颜色全部被遮盖住了, Result=Source,如果SourceAlpha不为0,上下层颜色就会进行合成,所以opaque默认设置YES,提升绘制性能..., 如果开发中UIView是不透明,opaque设置为YES, 如果opaque设置NO,那么Alpha应该小于1. ?

70220

Python之pygame学习绘制基本图形(3)

pygame绘制 ✕ 这次来说下怎么绘制基本图形,矩形,圆,直线等等 ? 这图片代码在最最最下面!! ?...这些函数可用于渲染任何格式曲面。渲染到硬件表面将比常规软件表面慢。 大多数函数使用width参数来表示形状边缘周围笔划(粗细)大小。如果宽度为0,则将填充形状(实线)。...这些函数返回一个矩形,表示已更改像素边界区域。此边界矩形是包含受影响区域“最小”边界框。...width > 0 则表示线条粗细 如果使用width,边框宽度不是很好控制 返回:一个矩形边界变化像素,如果没有绘制任何东西,返回宽高为0代码演示: pygame.draw.rect(screen...) 如果 width == 0 (默认)则填充内部是实心内部全部填充颜色 如果 width > 0 则表示线条粗细,空心代表线条宽度 如果使用width,边框宽度不是很好控制 返回:一个矩形边界变化像素

4K30

【FFmpeg】Filter 过滤器 ③ ( 文字水印 - drawtext 过滤器 | drawtext 过滤器支持库编译配置 | drawtext 过滤器常用参数 )

背景盒子 ; 显示 文字水印 时 , 可以显示一个背景盒子 , 这个盒子类似于 CSS 中盒子 , 可以设置边框 , 背景颜色 , 边框可以分别设置 四个方向 边框属性 , 宽度和颜色 ; box...参数可设置三个值 : 1 : 绘制方框 ; 0 : 不绘制方框 ; borderw : 绘制带有指定边框宽度方框 ; 配置示例 : ffmpeg -i input.mp4 -vf "drawtext...10 像素宽度 , 左右边框 20 像素宽度 ; boxborderw=10|20|30 设置上边框 10 像素宽度 , 左右边框 20 像素宽度 , 下边框 30 像素宽度 ; boxborderw...=10|20|30|40 设置上边框 10 像素宽度 , 右边框 20 像素宽度 , 下边框 30 像素宽度 , 左边框 40 像素宽度 ; 配置示例 : ffmpeg -i input.mp4 -vf...; fontsize 参数 用于设置 文本水印 字体大小 , 单位是像素 , : fontsize=24 表示字体大小为 24 像素 ; 代码示例 : ffmpeg -i input.mp4 -

28210

WebRender:让网页渲染如丝顺滑

这意味着,我们要做不仅仅是想使帧渲染更快...我们希望使渲染更加一致,不会发生闪动。即便有大量需要绘制像素 4k 显示器或 WebVR 设备,我们仍希望体验能够平滑一些。...为了尽可能利用所有内核,创建一定数量批处理工作,每个批次包括大量形状。 ? 这就是 GPU 如何在数百或数千个内核上切分工作。正是因为这种极端并行性,我们才能想到在每一帧中渲染所有内容。...目前,每种类型图元都需要一种着色器。例如边框着色器,文本着色器,图像着色器。 ? 我们认为可以将很多着色器结合起来,这样就能够增加批处理容量。但目前这样已经相当不错了。...首先做不透明一道工作。由表及里,渲染所有不透明形状。跳过位于其他像素背后像素。 然后处理半透明形状。工作由内向外进行。如果半透明像素落在不透明像素顶部,则会混合到不透明像素中。...如果它会落在不透明形状之后,则忽略计算。 将工作分解为不透明和 alpha 通道两部分,跳过不需要像素计算,这个过程称为 Z-剔除(Z-culling)。

2.8K30

Core Animation实战四(视觉效果)

这里有一些UIView没有暴露出来CALayer功能: 阴影,圆角,带颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 这篇主要说阴影圆角边框,先看一下Demo效果: ?...,裁剪,边框。...-(void)layerCornerRadiusAndWidth{ //圆角弧度 self.View1.layer.cornerRadius = 30; //是否边框绘制...双线性滤波算法通过对多个像素取样最终生成新值,得到一个平滑表现不错拉伸。但是当放大倍数比较大时候图片就模糊不清了。...从名字不难看出,这个算法(也叫最近过滤)就是取样最近像素点而不管其他颜色。这样做非常快,也不会使图片模糊。但是,最明显效果就是,会使得压缩图片更糟,图片放大之后也显得块状或是马赛克严重。

52120

iOS编程101:如何创建圆形头像和圆角图片

IOS7一个变化是相对于方形图像,更偏爱于使用圆形图像。在内置应用中可以看到圆形图标或圆形图像,联系人和电话应用。...layer对象提供了多种属性,使用它们来控制视图可视内容: 背景颜色 边框边框宽度 阴影颜色,宽度等 Opacity(不透明度) 圆角半径 Corner radius就是我们用来绘制圆角和圆形图像属性...所以上面的第一行是设置layer对象(CALayer类一个实例)圆角半径。将方形图像变成圆形图像,半径应设置为UIImageView宽度一半。例如,如果方形图像宽度是100像素。...半径应设置为50像素。其次,你必须将clipsToBounds属性设置为YES,这样layer才能生效。 现在编译和运行应用程序,你会得到一个圆形头像。 ? 非常容易吧。...= [UIColor whiteColor].CGColor; 我们只是设置了边框宽度和边框颜色。

2.1K20

iOS开发CoreGraphics核心图形框架之二——深入理解图形上下文

需要注意,绘制顺序在CoreGraphics框架中十分重要,如果后绘制内容和先绘制内容有位置冲突,后绘制内容将覆盖先绘制内容。    ...UIKIT_EXTERN void UIGraphicsBeginImageContext(CGSize size); //方法同上,其中opaque参数设置是否为不透明 scale设置缩放因子...UIImage对象 UIKIT_EXTERN UIImage* __nullable UIGraphicsGetImageFromCurrentImageContext(void); //结束位图图形上下文编辑..., //边框绘制并填充 kCGPathEOFillStroke //补集进行边框和填充绘制 */ void CGContextDrawPath(CGContextRef cg_nullable c,...void CGContextStrokeRect(CGContextRef cg_nullable c, CGRect rect); //进行矩形区域边框绘制 可以设置边框宽度 void CGContextStrokeRectWithWidth

2.6K20
领券