rect

UGUI Image扩展组件

柔情痞子 提交于 2019-12-03 14:26:07
功能: 优化对称图片及九宫格图片内存(对称图片只用一半图片,九宫格只用左下部分四分之一图片)。 核心代码: 1、九宫格翻转代码: /// <summary> /// 赋值九宫vert顶点数据 /// </summary> /// <param name="toFill"></param> /// <param name="rect"></param> /// <param name="padding"></param> /// <param name="adjustedBorders"></param> /// <param name="dir">0-3代表4个方向,分别为0:左下部分;1:右下部分;2:右上部分;3:左上部分</param> private void Generate9SlicedSprite(VertexHelper toFill, ref Rect rect, ref Vector4 padding, ref Vector4 adjustedBorders, int dir) { s_VertScratch[3] = new Vector2((rect.width - padding.z - padding.x) / 2, (rect.height - padding.w - padding.y) / 2); s_VertScratch[2] = s

Editor 类

时光总嘲笑我的痴心妄想 提交于 2019-12-03 14:07:56
继承这个 Editor 类,可以自定义Inspector、Preview、OnSceneGUI 常用于 自定义组件、资源的 Inspector 文档链接 https://docs.unity3d.com/ScriptReference/Editor.html#/ 未完待续…………………………….. 消息函数 属性 第一点: 如果不能多个一起编辑,那么会提示 “Multi-object editing not supproted”,所以不用太在意; 如果支持多个一起编辑,那么编辑之后两个物体的值都一样,好像也没什么意思。。。 凭印象来说,最常见的还是用 target(Object类型) 第二点: 几个属性,与 [CanEditMultipleObjects] 属性有较大关系, [CanEditMultipleObjects] 使用了 SerializedObject 和 SerializedProperty 系统,因此,可以自动处理“多对象编辑”,“撤销undo” 和 “预制覆盖prefab override”。 第三点:两种写法的不同 SerializedObject 是 UnityEditor空间下的,用它来获取属性,用 SerializedProperty xx = serializedObject.FindProperty( "xxx" ) //并且特别注意

【Unity】编辑器小教程

我与影子孤独终老i 提交于 2019-12-03 14:02:41
写在前面 Unity最强大的地方之一是它扩展性非常强的编辑器。Unite Europe 2016上有一个视频专门讲编辑器编程的: https://www.youtube.com/watch?v=9bHzTDIJX_Q 这里大概记录一下里面的关键点。 场景一 关注点 : 绘制重要区域,Gizmos.DrawXXX OnDrawGizmos和OnDrawGizmosSelected回调函数 点击Gizmos按钮就可以在Game视图也看到线框了 // OnDrawGizmos()会在编辑器的Scene视图刷新的时候被调用 // 我们可以在这里绘制一些用于Debug的数据 void OnDrawGizmos() { Gizmos.color = new Color( 1f , 0f , 0f , 1f ); Gizmos.DrawWireCube( transform.position + BoxCollider.center, BoxCollider.size ); Gizmos.color = new Color( 1f , 0f , 0f , 0.3f ); Gizmos.DrawCube( transform.position + BoxCollider.center, BoxCollider.size ); } // OnDrawGizmosSelect(

Crop text out of binary image OpenCV C++

匿名 (未验证) 提交于 2019-12-03 09:14:57
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: How can I crop the image so that only the text is included in the image using OpenCV? 回答1: Approach Dilating the image in in the vertical and horizontal direction Finding the bounding rectangle Cropping the image Code # reading the input image in grayscale image image = cv2.imread('image2.png',cv2.IMREAD_GRAYSCALE) image /= 255 if image is None: print 'Can not find/read the image data' # Defining ver and hor kernel N = 5 kernel = np.zeros((N,N), dtype=np.uint8) kernel[2,:] = 1 dilated_image = cv2.dilate(image, kernel, iterations=2) kernel =

How to fill rectangle with opacity in android

匿名 (未验证) 提交于 2019-12-03 08:36:05
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I can fill rectangle with canvas draw rect: Rect rt = new Rect ( 0 , 0 , getWidth (), getHeight ()); myPaint . setColor ( myColor ); myPaint . setStyle ( Style . FILL ); canvas . drawRect ( rt , myPaint ); But I need the method to fill rectangle with the opacity (in percent, with 0% is TRANSPARENT). How can I do that? 回答1: You can use the Alpha property of Paint class . myPaint.setAlpha(10); will help you. 转载请标明出处: How to fill rectangle with opacity in android 文章来源: How to fill rectangle with opacity in android

Matlab plots directly inside c++ GUI

匿名 (未验证) 提交于 2019-12-03 07:50:05
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm using matlab compiler to generate c++ shared library from my m files. Is it possible to display matlab plots directly inside c++ GUI (not in a separate window) ? 回答1: I found easy solution. If you are using windows you could just setparent to matlab window. something like this. HWND h = FindWindow(L"SunAwtFrame", L"Figure 1"); void MatlabViewerHack::EmbedMatlabPlot(HWND h) { SetWindowPos(h,NULL,rect.left(), rect.top(), rect.width(), rect.height(),0); SetWindowLong(h, GWL_STYLE,WS_CHILD|WS_VISIBLE); SetParent(h, parent_widget); //dynamic

自定义日历(四)-区间选择控件

妖精的绣舞 提交于 2019-12-03 07:25:30
目录 一、概述 二、效果展示 三、整体结构 四、分析实现 1、QPickDate 2、QDatePanel 3、QDateWidget、QDateContent 4、 调度绘制 五、相关文章 原文链接: 自定义日历(四)-区间选择控件 一、概述 很早很早以前,写过几篇关于日历的文章,不同于Qt原生的控件,这些控件都是博主使用自绘的方式进行完成,因此可定制性更强一些,感兴趣的可以参考 自定义日历(一) 、 自定义日历(二) 和 自定义日历(三)) 。 本篇文章还是继续来写我们的日历控件,仍然采用自绘的方式,带来更加炫酷的效果。看本文的标题就应该就能明白,这次实现的是一个可以区间选择的日历控件。 二、效果展示 效果图如下,一个简单的效果展示。 日历控件与Qt原生的QDateEdit一样,是由一个按钮进行触发,弹出如期选择面板。不同的是这个日历选择面板由2个小的日期面板组成,分别是开始和结束日期,规则如下: 开始日期必须小于结束日期 顶部有快速返回按钮 选中的日期段上有高亮背景色 选中的日期点上有蓝色圆形标识 点击确定按钮以后日期选择面板关闭 三、整体结构 开始讲解具体内容之前,先来看下整体的结构划分,实现这个日期段选择控件,总共需要以下4个类,下图是工程结构 以下是4个类的说明 QDateContent:单个日历窗口 QDateWidget:包含了年月选择的单个日历窗口

【Swift】UILabel 设置内边距

余生颓废 提交于 2019-12-03 05:54:23
【Swift】UILabel 设置内边距 前言   对应一个曾经开发 Android 的人来说,没有这些基础属性简直令人发指,还是表喷这个,认真写代码 - - # 声明   欢迎转载,但请保留文章原始出处:)   博客园:http://www.cnblogs.com   农民伯伯: http://over140.cnblogs.com 正文 class UILabelPadding : UILabel { private var padding = UIEdgeInsetsZero @IBInspectable var paddingLeft: CGFloat { get { return padding.left } set { padding.left = newValue } } @IBInspectable var paddingRight: CGFloat { get { return padding.right } set { padding.right = newValue } } @IBInspectable var paddingTop: CGFloat { get { return padding.top } set { padding.top = newValue } } @IBInspectable var paddingBottom: CGFloat {

WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解

China☆狼群 提交于 2019-12-03 05:16:59
我是个喜欢瞎琢磨的人。尤其是这几天心情非常郁闷。于是开始琢磨了…….琢磨的问题就是WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种窗口样式的理解。   1.求助MSDN   我的第一步当然是求助MSDN。在MSDN里面有详细的解释。   1.1 WS_CLIPCHILDREN   WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减子窗口。   MSDN里的E文解释:Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.   读E文是一件困难的事,为了不让大家再重复我的痛苦,我就越俎代庖翻译一下:WS_CLIPCHILDREN样式主要是用于父窗口,也就是说当在父窗口绘制的时候,父窗口上还有一个子窗口,那么设置了这个样式的话,子窗口区域父窗口就不负责绘制。   那么按照MSDN的理解,可以用下面这幅图来表示:   图 1‑1 WS_CLIPCHILDREN样式的初理解   1.1 WS_CLIPSIBLINGS   WS_CLIPSIBLINGS样式从字面上可以理解成ClipSiblings,裁减兄弟窗口。  

OC-类似歌词字体颜色逐字变化的实现方法

给你一囗甜甜゛ 提交于 2019-12-03 04:57:43
预期实效果图如下: 如上图所示,文字的颜色会根据时间的移动,逐字变成绿色。 实现方法: (1)调用方法:   用 void UIRectFillUsingBlendMode(CGRect rect, CGBlendMode blendMode) 这个方法来实现 (2)实现逻辑:   自定义Label,通过label的drawRect:方法 获取Label的图形上下文,使用调用UIRectFillUsingBlendMode:混合填充的方式来实现label颜色的绘制 (3)代码实现:   创建自定义的label:   .h 和.m的文件如下: ----------------.h-------------------- #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface YALabel : UILabel @property (nonatomic, assign) CGFloat progress ; @end ----------------.m-------------------- #import "YALabel.h" @implementation YALabel - (void)drawRect:(CGRect)rect { [super drawRect:rect]; [[UIColor