精华内容
下载资源
问答
  • MFC 画线几种方式

    千次阅读 2014-11-14 15:21:46
    MFC 画线几种方式 博客分类:  vc++ MFC  一.画鼠标按下到弹起之间的直线 1.创建 CView 的私有成员变量 CPoint m_ptOrigin; 2.在构造函数中初始化 m_ptOrigin = 0; 3.添加 LButtonDown...

    MFC 画线的几种方式

    博客分类:  vc++
    MFC 

    一.画鼠标按下到弹起之间的直线

    1.创建  CView 的私有成员变量 CPoint m_ptOrigin;

    2.在构造函数中初始化 m_ptOrigin = 0;

    3.添加 LButtonDown(鼠标左键按下)消息函数并在鼠标左键按下的事件中记录m_ptOrigin点的坐标;

    4.添加 LButtonUp(鼠标左键弹起)消息函数并在鼠标左键弹起的事件中进行画线

     

    /*HDC hdc;
     hdc=::GetDC(m_hWnd);       //HDC方式创建
     MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL); //线的初始点
     LineTo(hdc,point.x,point.y);     //线的终点
     ::ReleaseDC(m_hWnd,hdc);*/      //释放dc
     /*
     CDC *pDC=GetDC();        //CDC方式创建
     pDC->MoveTo(m_ptOrigin);      
     pDC->LineTo(point);
     ReleaseDC(pDC);*/

     /*
     CClientDC dc(this);        //ClientDC 方式创建
     //CClientDC dc(GetParent());      
     dc.MoveTo(m_ptOrigin);       
     dc.LineTo(point);
     */
     
     /*
     //CWindowDC dc(this);       //CWindowDC 方式创建
     //CWindowDC dc(GetParent());//父窗口
     CWindowDC dc(GetDesktopWindow());
     dc.MoveTo(m_ptOrigin);
     dc.LineTo(point);
     */

     /*
     CPen pen(PS_SOLID,1,RGB(255,0,0));    //定义画笔
     CClientDC dc(this);        //画板
     CPen *pOldPen=dc.SelectObject(&pen);
     dc.MoveTo(m_ptOrigin);
     dc.LineTo(point);
     dc.SelectObject(pOldPen);*/

     /* 用笔刷画矩形
     CBrush brush(RGB(255,0,0));//笔刷颜色
     CClientDC dc(this);
     dc.FillRect(CRect(m_ptOrigin,point),&brush);
     */

     /*  使用资源图填充笔刷画矩形
     CBitmap bitmap;   
     bitmap.LoadBitmap(IDB_BITMAP1);//载入图片资源
     CBrush brush(&bitmap);
     CClientDC dc(this);
     dc.FillRect(CRect(m_ptOrigin,point),&brush);
     */

     /*  画透明背景的矩形框
     CClientDC dc(this);     
     //dc.Rectangle(CRect(m_ptOrigin,point));
     CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));//透明笔刷
     CBrush *pOldBrush=dc.SelectObject(pBrush);
     dc.Rectangle(CRect(m_ptOrigin,point));
     dc.SelectObject(pOldBrush);
     */

     

     

    二.连续画线

    1.在CView 中创建私有成员变量 BOOL m_bDraw;

    2.在构造函数中初始化为 FALSE 即 m_bDraw = FALSE;

    3.添加MouseMove(鼠标移动)事件响应函数,并添加

     

     CClientDC dc(this);
     CPen pen(PS_SOLID,1,RGB(255,0,0));
     CPen *oldPen = dc.SelectObject(&pen);
     if(m_bDraw)
     {
        //dc.SetROP2(R2_BLACK);
        dc.MoveTo(m_ptOrigin);
        dc.LineTo(m_ptOld);
        dc.MoveTo(m_ptOld);
        dc.LineTo(point);
        //m_ptOrigin=point;
        m_ptOld=point;
     }
     dc.SelectObject(oldPen);

     

    画出来为扇形

     

    展开全文
  • MFC中实现画线几种方法:

    万次阅读 2012-11-15 20:23:59
    《1》一般画线方法 首先应在View类中增加CPOINT类的一成员变量,并在构造函数中将其初始化为0。 1、利用全局函数(SDK函数)实现画线 HDC hdc; //定义DC hdc=::GetDC(m_hWnd); ::MoveToEx(hdc,m_ptOrigin.x,m_...

    《1》一般画线方法

    首先应在View类中增加CPOINT类的一成员变量,并在构造函数中将其初始化为0。

    1、利用全局函数(SDK函数)实现画线

    HDC hdc; //定义DC

    hdc=::GetDC(m_hWnd);

    ::MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);

    //m_ptOriginLBUTTONDOWN时获取的点位置

    ::LineTo(hdc,point.x,point.y);//画线到当前点

    ::ReleaseDC(m_hWnd,hdc);//释放DC

     

    2、利用CDC类实现画线

    CDC *pDC=GetDC();//此时利用的是CWnd的成员函数GetDC

           pDC->MoveTo(m_ptOrigin);

           pDC->LineTo(point);

           ReleaseDC(pDC);

     

    3、利用CClientDC类实现画线

    //构造时调用GetDC,析构时调用ReleaseDC,因此无需显式的调用GetDCReleaseDC

           CClientDC dc(this); //构造的DC仅与View类相关,画线仅能画在View窗口上

           //CClientDC dc(GetParent());

    //构造的DCView类的父窗口(框架窗口)相关,画线能画在工具栏上,不能画到菜单栏上

    dc.MoveTo(m_ptOrigin);

           dc.LineTo(point);

     

    4、利用CWindowDC类实现画线——也不需要显式地调用GetDCReleaseDC

    //利用该类可在可在整个屏幕(包括客户区与非客户区)上画线

    //CWindowDC dc(this);    //CClientDC没有区别

           //CWindowDC dc(GetParent());      //可画到菜单栏

           CWindowDC dc(GetDesktopWindow());      //可画到桌面上

           dc.MoveTo(m_ptOrigin);

           dc.LineTo(point);

     

    《2》画出其他颜色线条(利用画笔—CPen类)

    CPen pen(PS_DOT,1,RGB(0,255,0));

    //创建画笔,参数分别为笔的类型,笔的粗细,笔的颜色

           CClientDC dc(this);

           CPen *pOldPen=dc.SelectObject(&pen);

    //将新画笔的类型选择到设备描述表中,并返回原来画笔的类型

           dc.MoveTo(m_ptOrigin);

           dc.LineTo(point);

           dc.SelectObject(pOldPen);//将原先画笔的类型选择到设备描述表中

     

    3》创建画刷

    1、创建颜色画刷

    CBrush brush(RGB(255,0,0));

           CClientDC dc(this);

           dc.FillRect(CRect(m_ptOrigin,point),&brush);

     

    2、创建位图画刷

    CBitmap bitmap;//定义位图

           bitmap.LoadBitmap(IDB_BITMAP2);//加载位图

           CBrush brush(&bitmap);//创建位图的画刷

           CClientDC dc(this);

           dc.FillRect(CRect(m_ptOrigin,point),&brush);//利用画刷填充

     

    3、创建透明画刷

    CClientDC dc(this);

    CBrush *pBrush=CBrush

    ::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));

    //创建透明画刷(使先前画的仍能看到)

    //FromHandle函数将句柄转换为C++对象,GetStockObject函数获得画刷的句柄

           CBrush *pOldBrush=dc.SelectObject(pBrush);

           dc.Rectangle(CRect(m_ptOrigin,point));//画矩形

           dc.SelectObject(pOldBrush);

     

    《4》画连续的线

    步骤:

    1、增加一BOOL型成员变量m_bDraw,并初始化为false

    2、在OnLButtonUp函数中令m_bDraw=false;在OnLButtonDown函数中令m_bDraw=true,同时获取点的位置;

    3、在OnMouseMove函数中添加

    CClientDC dc(this);

           if(m_bDraw==TRUE)

           {

                  //dc.SetROP2(R2_BLACK);//设置绘画的模式

                  dc.MoveTo(m_ptOrigin);

                  dc.LineTo(point);

                  m_ptOrigin=point;

           }

     

    展开全文
  • mfc 中画线几种方法,画刷

    千次阅读 2012-11-28 13:22:09
    我们平常一条线,通常肯定是需要知道起点和终点的。mfc也一样。 我们先定义一个。变量CPoint的m_ptStart变量记录起点位置,起点是鼠标放下去的位置 创建按下鼠标事件: void Ctest4View::OnLButtonDown(UINT ...

    我们平常画一条线,通常肯定是需要知道起点和终点的。mfc也一样。

    我们先定义一个。变量CPoint的m_ptStart变量记录起点位置,起点是鼠标放下去的位置

    创建按下鼠标事件:

    void Ctest4View::OnLButtonDown(UINT nFlags, CPoint point)
    {
    	// TODO: Add your message handler code here and/or call default
    	m_ptStart = point;  //记录起点
    	CView::OnLButtonDown(nFlags, point);
    }
    在终点,做画线操作。方法很多。鼠标弹起来的事件
    void Ctest4View::OnLButtonUp(UINT nFlags, CPoint point)
    {
    	// TODO: Add your message handler code here and/or call default
             ................
    	CView::OnLButtonUp(nFlags, point);
    }
    

    方法一:

    		HDC hdc;  //申明hdc句柄
    		hdc = ::GetDC(m_hWnd);  //调用全局的函数
    		MoveToEx(hdc,m_ptStart.x,m_ptStart.y,NULL); //移动到这个点
    		LineTo(hdc,point.x,point.y);  //从当前位置划线结束
    		::ReleaseDC(m_hWnd,hdc);//释放dc,也是全局

    方法二:

    		CDC *pDC = GetDC();   //返回dc句柄指针,相当于设置
    		pDC->MoveTo(m_ptStart);//
    		pDC->LineTo(point);
    		ReleaseDC(pDC);//释放dc

    方法三:

    	       //CClientDC dc(this);//本窗口
    	        CClientDC dc(GetParent());//父窗口  CClientDC  包含了 getdc  并releasedc
    		dc.MoveTo(m_ptStart);
    		dc.LineTo(point);

    方法四:

    	      //CWindowDC dc(GetParent());
    	      CWindowDC dc(GetDesktopWindow()); //获取桌面设备
    	      dc.MoveTo(m_ptStart);
    	      dc.LineTo(point);

    给dc对象增加画笔

    		CDC *pDC = GetDC();
    		CPen pen(PS_SOLID,10,RGB(255,0,0));   //创建画笔,画笔风格,颜色
    		pDC->MoveTo(m_ptStart);    //指定起点位置
    		CPen *poldPen = pDC->SelectObject(&pen);//将画笔上线,并返回老画笔
    		pDC->LineTo(point);//描绘,从起点到point点
    		pDC->SelectObject(poldPen); //恢复画笔
    		ReleaseDC(pDC); //释放

    给dc对象增加画刷

    		//颜色画刷
    		CBrush brush(RGB(255,0,0));  //创建红色画刷
    		CClientDC dc(this);  //创建dc  CClientDC 构造函数里,有getdc 和 releasedc
    		dc.FillRect(CRect(m_ptStart,point),&brush);//填充矩形
    创建位图画刷,IDB_BITMAP1是位图资源
    		//位图画刷
    		CBitmap bitmap;
    		bitmap.LoadBitmap(IDB_BITMAP1);
    		CBrush brush(&bitmap);
    		CClientDC dc(this);  //创建dc
    		dc.FillRect(CRect(m_ptStart,point),&brush);
    创建透明画刷

    	        CClientDC dc(this);
    		//获取透明画刷 GetStockObject 返回画刷句柄 FromHandle 返回画刷指针
    		CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
    		CBrush *poldBrush = dc.SelectObject(pBrush);
    		dc.Rectangle(CRect(m_ptStart,point));//画矩形
    		dc.SelectObject(poldBrush);

    鼠标轨迹事件

    void Ctest4View::OnMouseMove(UINT nFlags, CPoint point)  //
    {
    	// TODO: Add your message handler code here and/or call default
    	CClientDC dc(this);
    	CPen pen(PS_SOLID,1,RGB(255,0,0));
    	dc.SelectObject(pen);
    	if(m_draw)
    	{
    		dc.MoveTo(m_ptStart);
    		dc.LineTo(m_ptold);
    		dc.MoveTo(m_ptold);
    		dc.LineTo(point);
    		m_ptold = point;
    	}
    	CView::OnMouseMove(nFlags, point);
    }
    









    展开全文
  • 【Unity3D】Unity3D Unity 几种画线方式

    万次阅读 2017-11-25 11:37:45
    【前言】 图形化调试可以加速开发。 例如在战斗中,可能需要知道所有单位的仇恨值,如果这些信息全打log的话,很难...Unity中图形化调试主要4 Debug.Draw Gizmos.Draw Graphic.DrawMesh GL 只需在Scene窗口显示的

    推荐阅读

    【前言】

    图形化调试可以加速开发。
    例如在战斗中,可能需要知道所有单位的仇恨值,如果这些信息全打log的话,很难有直观感受,
    而如果在Scene窗口里,单位头顶有一个球,越红表示仇恨越高,越暗表示仇恨越低,那么调试起来比打log直观多了。

    【一 、图形化调试】

    Unity中图形化调试主要4种

    • Debug.Draw
    • Gizmos.Draw
    • Graphic.DrawMesh
    • GL

    有两种情况

    1.只需在Scene窗口显示的调试图像

    • 一直显示的 OnDrawGizmos + Gizmos.Draw
    • 选中显示的 OnDrawGizmosSelected + Gizmos.Draw
    • 脚本控制的 Update + Debug.Draw

    2.需要在实际设备屏幕显示的调试图像

    • Update+Graphic.DrawMesh
    • OnRenderObject+GL

    Graphic.DrawMesh和Debug.Draw 调用一致,都是在Update系里
    Graphic.DrawMesh和GL 显示类似,都在各个窗口显示,并且可以设置材质。

    四种方式比较

    (1)Debug.Draw

    1. 一般在Update/Fixed Update/LateUpdate里调用
    2. 只在Scene窗口里显示
    3. 并且不能设置材质
    void Update()
    {
         Debug.DrawLine (worldPos1, worldPos2,Color.yellow);
    }
    

    (2)Gizmos.Draw

    1. 在OnDrawGizmos /OnDrawGizmosSelected里调用
    2. 只在Scene窗口里显示
    3. 并且不能设置材质
    public void OnDrawGizmosSelected() 
    {
        Gizmos.DrawLine(Vector3.zero, new Vector3(0,3f,0));
    }
    

    (3)Graphic.DrawMesh

    1. 一般在Update/Fixed Update/LateUpdate里调用
    2. 实际屏幕和Scene窗口都能显示
    3. 可以设置材质
      画Mesh
     void Update()
     {
         Graphics.DrawMesh(mesh, worldPos, worldRotation, material, 0);
     }
    

    (4)GL

    1. 一般在物体的OnRenderObject 或者相机的OnPostRender里调用
    2. 实际屏幕和Scene窗口都能显示
    3. 可以设置材质

    一个GL.Begin/GL.End里的渲染是自动合并的,一般是一个Drawcall
    画一些线,三角可以。用GL.TRIANGLES 显示整个Mesh的话会超卡。

    例:渲染线框
          void OnRenderObject()
        {
            mat.SetPass(0);
             GL.wireframe = true;
             GL.Color (new Color (1,1, 0, 0.8F));
            GL.PushMatrix();
            GL.Begin(GL.TRIANGLES);
            for(int i=0;i<</span>mesh.triangles.Length-2;i+=3)
            {
                GL.Vertex(mesh.vertices[mesh.triangles[i]]);
                GL.Vertex(mesh.vertices[mesh.triangles[i+1]]);
                GL.Vertex(mesh.vertices[mesh.triangles[i+2]]);
            }
            GL.End();
            GL.PopMatrix();
                  GL.wireframe = false;
        }
    

    【二、GL】

    GL除了可以用来调试,可以拿来做功能,例如LineRenderer,地格等。
    GL即Graphics Library。Low-Level Graphics Library。计算matrices,发出类似OpenGL的immediate模式的渲染指令,和其他低级图像任务。Graphic.DrawMesh()比GL更高效。
    GL立即绘制函数只用当前material的设置。因此除非你显示指定mat,否则mat可以是任何材质。并且GL可能会改变材质。
    GL是立即执行的,如果你在Update()里调用,它们将在相机渲染前执行,相机渲染将会清空屏幕,GL效果将无法看到。

    GL的普通用法

    在Camera上贴脚本,并在OnPostRender()里执行。
    也可以挂在任何GameObject上,在OnRenderObject()里执行。
    或者挂在物体上

    注意:

    1. GL的线等基本图元并没有uv. 所有是没有贴图纹理影射的,shader里仅仅做的是单色计算或者对之前的影像加以处理。
    2. GL所使用的shader里必须有Cull off指令,否则显示会变成如下
    3. 如果是线,颜色是GL.Color( new Color(1,1,1,0.5f) );设置的颜色
    4. 如果是GL.TRIANGLES或者是GL.QUADS,则颜色是shader里的颜色。

    主要API解析

    1. GL.PushMatrix()
      保存matrices至matrix stack上。

    2. GL.PopMatrix()
      从matrix stack上读取matrices。

    3. GL.LoadPixelMatrix()
      改变MVP矩阵,使得transform里的xy 直接对应像素,(0,0)表示屏幕viewport的左下角,z的范围是(-1,1),该函数改变camera的参数,所以需要GL.PushMatrix()保存和GL.PopMatrix()读取。

    4. GL.Vertex3()
      取值范围从左下角的(0,0,0) 至右上角的(Screen.width,Screen.height,0)

    5. GL.LoadOrtho()
      设置ortho perspective,即水平视角。After calling LoadOrtho, the viewing frustum goes from (0,0,-1) to (1,1,100). 主要用于在纯2D里绘制图元。

    6. GL.Vertex3()
      的取值范围从左下角的(0,0,0) 至右上角的(1,1,0)

    7. OnPostRender()
      只有物体上有激活的摄像机时,才会调用的函数,当摄像机完成渲染场景,绘制了所有物体以后调用。

    8. OnPostRender()
      可以变成co-routine,加yield语句即可。

    9. WaitForEndOfFrame()
      等待至 所有绘制之后,end of frame, 就在展示frame到屏幕之前。可以做截图。可以在任何物体上使用该函数。

    例1:屏幕画线

    using UnityEngine;  
    using System.Collections;  
      
    public class GLTest : MonoBehaviour {  
      
      public Material mat;  
        void OnPostRender() {  
            if (!mat) {  
                Debug.LogError("Please Assign a material on the inspector");  
                return;  
            }  
            GL.PushMatrix(); //保存当前Matirx  
            mat.SetPass(0); //刷新当前材质  
            GL.LoadPixelMatrix();//设置pixelMatrix  
            GL.Color(Color.yellow);  
            GL.Begin(GL.LINES);  
            GL.Vertex3(0, 0, 0);  
            GL.Vertex3(Screen.width, Screen.height, 0);  
            GL.End();  
            GL.PopMatrix();//读取之前的Matrix  
        }  
    }  
    

    例2:截图

    using System.IO;  
    using UnityEngine;  
    using System.Collections;  
      
    public class ScreenShot : MonoBehaviour {  
        void Start() {  
            StartCoroutine(UploadPNG() );  
        }  
        IEnumerator UploadPNG() {  
            yield return new WaitForEndOfFrame();  
    		print ("yuuuuu");  
            int width = Screen.width;  
            int height = Screen.height;  
            Texture2D tex = new Texture2D(width, height, TextureFormat.RGB24, false);  
            tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);  
            tex.Apply();  
            byte[] bytes = tex.EncodeToPNG();  
    		File.WriteAllBytes(Application.dataPath+"/ss.png",bytes);  
    		UnityEditor.AssetDatabase.Refresh();  
        }  
    }  
    

    例3:展示Alpha

    using UnityEngine;  
    using System.Collections;  
      
    public class GLTest : MonoBehaviour {  
    public Shader shader;  
    public Texture2D t2d;  
    private Material mat;  
    void Start()  
    {  
    	mat = new Material(shader);  
    	mat.mainTexture = t2d;  
    }  
        void OnPostRender() {  
            if (!mat) {  
                Debug.LogError("Please Assign a material on the inspector");  
                return;  
            }  
            GL.PushMatrix();  
            mat.SetPass(0);  
            GL.LoadOrtho();  
            GL.Begin(GL.QUADS);  
            GL.Vertex3(0, 0, 0.1F);  
            GL.Vertex3(1f, 0, 0.1F);  
            GL.Vertex3(1f, 1, 0.1F);  
            GL.Vertex3(0, 1, 0.1F);  
            GL.End();  
            GL.PopMatrix();  
        }  
    }  
    Shader "Custom/GLDrawLine" {  
    Properties {  
    	_MainTex ("Base (RGB)", 2D) = "white" {}  
    }  
    SubShader {  
        Pass {  
    		Cull off  
    		Blend DstAlpha zero  
    		Color(1,1,1,1)  
       	 }  
      }  
    }  
    
    展开全文
  • 【Unity】Unity 几种画线方式

    万次阅读 多人点赞 2017-09-19 16:11:43
    【前言】 ...图形化调试可以加速开发。...例如在战斗中,可能需要知道所有单位的仇恨值,如果...而如果在Scene窗口里,单位头顶一个球,越红表示仇恨越高,越暗表示仇恨越低,那么调试起来比打log直观多了。  
  • 几种画辅助线的方式

    千次阅读 2017-11-17 22:00:15
    MonoBehaviour.OnDrawGizmos() MonoBehaviour.OnDrawGizmosSelected() // 选择物体才划线 public class ExampleClass : MonoBehaviour { void OnDrawGizmos() { Gizmos.color = Color.yellow; Gizm
  • HTML分割线几种方法

    千次阅读 2015-05-26 09:15:53
    9.垂直分割线 ;border-left-style:solid; border-bottom-style:none;border-right-style:none;border-top-style:none"> align 线条位置(可选left、right、center);width 线条长度;color 颜色;...
  • flash动画有几种文件格式

    千次阅读 2017-06-08 12:41:49
    1、GIF动画格式 大家都知道,GIF图像由于采用了无损数据压缩方法中压缩率较高的LZW算法,文件尺寸较小,因此...很多图像浏览器如《豪杰大眼睛》等都可以直接观看此类动 文件。 2、FLIC FLI/FLC 格式 FLIC是A
  • MFC中直线和曲线的几种方法

    千次阅读 2018-02-01 12:11:47
    要想在MFC中颜色的线条,首先就要设置DC的画笔,我们可以按如下方法来设置画笔:  第一步:在View类中添加一个COLORREF类型的数据成员m_Color(用来保存画笔颜色值),在构造函数中对其初始化,  m_Color...
  • 文字“中间划线”的几种CSS实现

    万次阅读 2013-09-21 18:24:30
    写在前面的话,今天中秋假期最后一天,明天又得开始苦逼的生活了,在地铁上看到一篇文本“中间划线” 的微博,有点时间测试下,增长点小知识。 1)首先来看看text-decoration这个属性 可能的属性值: 浏览器支持如下...
  • AD布线的几种方式

    千次阅读 2018-10-27 14:57:19
    原文链接:http://www.51hei.com/bbs/dpj-30480-1.html,略修改和总结 1.常规布线:不详细说了,是个人就知道怎么弄。需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键...
  • Python可视化数据直线的几种方法

    千次阅读 2020-04-20 21:23:46
    在学习的过程中发现了直线的画图方法以下几种: 1. 直接plot法 已知两点一条直线,x值在前,y值在后,相对应即为两个点的坐标(xi,yi) 在这里插入代码片 笔者在用Python学习数据分析时,需要安装几个常用库,...
  • import seaborn as sns tips = sns.load_dataset("tips") #导入sns中自带的数据集 sns.regplot(x="total_bill",y="tip",data=tips) ...import seaborn as sns from matplotlib import pyplot as plt ...
  • 创建刷的几种形式

    千次阅读 2013-05-30 15:39:04
    第一: hbr= CreateSolidBrush(RGB(255,0,0)); //创建单色的刷 第二: hbr= (HBRUSH)GetStockObject(BLACK_BRUSH); //只能取特定颜色的刷,如BLACK_BRUSH,GRAY_BRUSH刷 第三: hbr= CreatePa
  • Android 实现分割线几种方式

    千次阅读 2017-12-03 22:34:43
    最近项目的UI除了图标是美工做的,其他的都...在这里总结几种实现分割线的方式: 1、使用layer-list实现: (1)顶部黑色分割线、白色背景 (2)左边上边右边黑色分割线、白色背景 layer-list使用总结:没
  • 常用的几种画流程图工具

    万次阅读 2019-07-31 16:41:50
    制作流程图的工具很多,比如,Visio、Axure、Smartdraw、Omnigraffle(Mac)等等,产品经理只需要选择一款适合自己的工具即可。 1. Visio Visio是微软推出的一款流程图制作工具,也是目前产品经理最常用的一...
  • MATLAB绘图笔记——立方体的几种方法

    万次阅读 多人点赞 2018-03-11 20:43:34
    多个多边形时,仅指定唯一顶点及其连接矩阵可以减小数据大小。为 V 中的每个行指定一个顶点。要创建一个多边形,请将 F 指定为矢量。要创建多个多边形,请将 F 指定为矩阵,其中一行对应于一个多边形。不要求每...
  • Unity绘制线条的几种方式比较

    千次阅读 2018-12-26 18:33:50
    好文章:https://blog.csdn.net/ldy597321444/article/details/78031284/
  • 电源工程师PCB的几种软件比较

    千次阅读 2013-12-18 11:35:31
    但因工作原因,接触越来越多画图软件,自然就了对比。下面是些心得,希望对象我一样的“懒人”有用,以下属个人观点。 protel 优点:人性化,界面简单,操作简单,什么都能改,你想怎么样就怎么样封装,...
  • Matlab 的几种曲线的绘制方法

    万次阅读 2018-10-31 11:12:02
    仿真分析外,绘图功能也是相当的强大,静态画图没什么问题,由于Matlab本身的多线程编程缺陷,想要动态的画图,并且能够很好的在GUI中得到控制,还不是一件很容易的事情,下面总结几种方法。 一. AXIS 移动坐标系 ...
  • Unity中在Game窗口画线

    千次阅读 2019-08-22 17:28:00
    在Unity中画线有几种方式: Debug.DrawLine() 函数画线,在Game窗口不开启Gizmos时,只在Scene窗口显示,多用于调试。 通过LineRenderer 来画线,在 Scene 和 Game 窗口中都进行显示。 使用Gizmos.DrawLine来画线...
  • UML几种

    千次阅读 2014-12-08 20:32:54
    在UML类图中,常见的以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)  1. 泛化(Generalization)  ...
  • CSS巧妙实现分隔线几种方法

    万次阅读 2017-05-20 14:21:31
    单个标签实现分隔线: 点此查看实例展示 html:小小分隔线 单标签实现 css: .demo_line_01{ padding: 0 20px 0; margin: 20px 0; line-height: 1px; border-left: 200px solid #ddd; border-right: ...
  • 写这个的原因是绘画方面的内容在unity里还是很弱的,没有opengl 或者以前flash那样直观又容易操作, 当然unity里其他很好用,当如...下面几种实现思路 1使用readpixel方式拷贝像素,优点:方便 缺点:交互上缺陷

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 186,979
精华内容 74,791
关键字:

划线有几种