Drawing Lines(绘制线条)

【控件功能】我来做练习-第27课-Drawing and text in opengl, use mouse to draw lines Drawing and text in opengl, use mouse to draw lines 阅读详情

绘制过程: 

        设置颜色  - (void)set

        设置线条宽度  - (void)CGContextSetLineWidth (CGContextRef c,CGFloat width);

        设置连线类型  - (void)CGContextSetLineJoin (CGContextRef c,CGLineJoin join); //默认连线类型 kCGLineJoinMiter

        设置线条起始点  -void CGContextMoveToPoint (CGContextRef c,CGFloat x,CGFloat y);

        设置线条终点 -void CGContextAddLineToPoint (CGContextRef c,CGFloat x,CGFloat y);

        开始绘制  -void CGContextStrokePath (CGContextRef c);


1.绘制简单线条

- (void)drawRect:(CGRect)rect{

    [[UIColor brownColor]  set];  // - (void)set

    

    CGContextRef currentContext = UIGraphicsGetCurrentContext();

    CGContextSetLineWidth(currentContext,5.0f);

    

    /* Start point */

    CGContextMoveToPoint(currentContext,50.0f,10.0f);

    

    /* end point */

    CGContextAddLineToPoint(currentContext,100.0f,200.0f);

    

    /* Extend the line to another point  绘制简单连线 (默认连线类型 kCGLineJoinMiter) */

    CGContextAddLineToPoint(currentContext,300.0f,100.0f);


    /* draw the line */

    CGContextStrokePath(currentContext);   

}

2.连线类型

enum CGLineJoin {

    kCGLineJoinMiter, //默认类型

    kCGLineJoinRound,

    kCGLineJoinBevel

};

- (void) drawRooftopAtTopPointof:(CGPoint)paramTopPoint

                   textToDisplay:(NSString *)paramText

                        lineJoin:(CGLineJoin)paramLineJoin{

    [[UIColor brownColor] set];


    CGContextRef currentContext = UIGraphicsGetCurrentContext();

    

    /* Set the line join 设置连线类型 */

    CGContextSetLineJoin(currentContext,paramLineJoin);


    CGContextSetLineWidth(currentContext,20.0f);

    

    /* Start point */

    CGContextMoveToPoint(currentContext,

                         paramTopPoint.x - 140,

                         paramTopPoint.y + 100);

    

    /* end point */

    CGContextAddLineToPoint(currentContext,

                            paramTopPoint.x,

                            paramTopPoint.y);

    

    /* Extend the line to another point to make the rooftop */

    CGContextAddLineToPoint(currentContext,

                            paramTopPoint.x + 140,

                            paramTopPoint.y + 100);

    

    /* draw the lines */

    CGContextStrokePath(currentContext);


    [[UIColor blackColor] set];

    /* Now draw the text */

    CGPoint drawingPoint = CGPointMake(paramTopPoint.x - 40.0f,

                                       paramTopPoint.y + 60.0f);

    UIFont *font = [UIFont boldSystemFontOfSize:30.0f];    

    [paramText drawAtPoint:drawingPoint

            withAttributes:@{NSFontAttributeName : font}];    

}

- (void)drawRect:(CGRect)rect{    

    [self drawRooftopAtTopPointof:CGPointMake(160.0f, 40.0f)

                    textToDisplay:@"Miter"

                         lineJoin:kCGLineJoinMiter];    

    [self drawRooftopAtTopPointof:CGPointMake(160.0f, 180.0f)

                    textToDisplay:@"Bevel"

                         lineJoin:kCGLineJoinBevel];    

    [self drawRooftopAtTopPointof:CGPointMake(160.0f, 320.0f)

                    textToDisplay:@"Round"

                         lineJoin:kCGLineJoinRound];   

}

ThreeJS之画线(Drawing lines) 线是画在每一对连续的顶点之间的,而不是在第一个顶点和最后一个顶点之间绘制线条(线条并未闭合) 阅读详情

相关推荐

【例2765】set hidden lines to invisible in drawing views 将图纸视图中的隐藏线设置为不可见

set hidden lines to invisible in drawing views 将图纸视图中的隐藏线设置为不可见》这是一个NX二次开发官方小例子,下面是代码和解析。相较于混乱、未经验证的代码,官方案例能够确保开发者获得准确的开发方法,这些官方示例代码经过严格测试,能够正确地反映出NX软件的功能和API使用方式,有助于开发者系统地掌握NX二次开发技能,提高开发质量和效率。本专栏订阅后是永久阅读的。欢迎一起学习NX二次开发案例,逐步积累宝贵的经验,早日成为行业专家。

王牌飞行员_里海的博客 705

使用Graphics.DrawLine画线时,如何控制线的宽度!

转载自:http://topic.youkuaiyun.com/t/20030514/02/1780072.html 问: 使用Graphics.DrawLine画线时,如何控制线的宽度! 答: 用 private   final   static   BasicStroke   stokeLine   =   new   BasicStroke(   2.0f   );  G

客亦知夫水与月乎? 1万+

计算机网络实验六 RIP 配置实验

Man! What can I say?

AClerk的博客 1592

达到毕业标准了,但是没到导师标准......

MATLAB的gui界面,调用STK的函数,覆盖区域网格点求解算法

weixin_42664107的博客 916

从零配置到批量处理:FaceFusion 3.1完整使用指南(含hififace_256模型测试)

本文详细介绍了FaceFusion 3.1的完整使用指南,包括环境配置、模型选择(特别是hififace_256模型的深度测试)以及批量处理技巧。通过AI驱动的脸部替换技术,帮助用户高效实现高质量的面部处理,适用于影视制作、广告设计等多种场景。

weixin_29056865的博客 655

准确率、召回率、f1指标计算的区别

准确率是模型正确预测的样本占总样本的比例。

stephen147的博客 1414

WPF 中Canvas图形绘制之DrawingContext绘图(二)

图元类的图形绘制,在OnRender重载函数中实现,绘制的坐标系与canvas相同。创建DV_TrackLine类实例后,将其在Canvas中的定位坐标保存在ptBase中,并通过SetTop和SetLeft函数定位。图元移动后,其在canvas中的位置也需要复位,在PanAndZoomCanvas类的Reset()函数改造如下。在MainWindow类中,调用单体类,传入canvas对象,实现图元的绘制。定义了一个单体类,用于存放所有的图元,下面的代码作为示例,只是创建一个图元。

fengyuan的专栏 2183

【文献阅读笔记】之基于注意力机制的深度学习路面裂缝检测

中文,计算机辅助设计与图形学学报,第 32 卷 第 8 期,2020 年 8 月。 DOI: 10.3724/SP.J.1089.2020.18059 摘要: 为实现自动准确地检测路面裂缝, 提升路面裂缝检测效果, 提出了一种基于注意力机制的裂缝检测网络 (attention-based crack networks, ACNet). 该网络采用编码器-解码器网络构架, 编码器采用 ResNet34 为骨干网, 提取路面裂缝特征; 在编码器和解码器间加入基于注意力机制的特征模块(attention-b

qq_44785998的博客 7592

wxpython drawtext设置绘制区域_井水平投影图绘制

井斜水平投影图前面发文介绍过在wpf中平滑曲线的绘制方法,今天介绍一个绘制曲线的实际应用。井斜水平投影图就是把某斜井的各个斜井段投影到某一水平面上所得到的图件,反映实际井底偏离井口的水平位移和方位,及钻遇目的层的垂直井深,是油气勘探、开发的基础图件之一。 定义基本的绘图对象:public abstract class GraphicsBase : DrawingVisual从Drawin...

weixin_39880621的博客 514

Python爬虫之爬取并下载哔哩哔哩视频

它可以爬取并下载视频文件和音频文件!亲自使用过,太好用了。

2301_80124151的博客 3万+

网络可视化工具netron详细安装流程

netron安装目录1.netron 简介2.不同操作系统下的安装使用方式2.1 在线版本:只要有浏览器就可以2.2 不同操作系统安装使用3.netron支持的网络框架4.netron测试演示 1.netron 简介 在实际的项目中,经过会遇到各种网络模型,需要我们快速去了解网络结构。如果单纯的去看模型文件,脑海中很难直观的浮现网络的架构。 这时,就可以使用netron可视化工具,可以清晰的看到每一层的输入输出,网络总体的架构,而且支持各种不同网络框架,简单好用。 2.不同操作系统下的安装使用方式 2.1

江南研习社 12万+

Canvas怎样修改线条的宽度、颜色和形状?

在Canvas中,线的默认颜色为黑色,宽度为lpx,但我们可以使用相关属性为线添加不同的样式。下面我们将从宽度、描边颜色、端点形状3方面详细讲解线条样式的设置方法。

CZ-001的博客 1611

【芯片设计- RTL 编译与仿真 1.2 -- Visualizer 常用使用命令】

打开波形后,如果想要看到所有信号的数据,可以点击下图中红框中的按钮,因为默认verdi 默认并不是显示所用信号。如果想统计某一个信号中有多少笔数据时,可以使用 Expression->Edege Count 功能。如下图所示,如果没有打开前导0的功能时,当某一笔数据位0时,只会显示1个0。如果需要将波形的数据导出到文本文件时,可以按照下面步骤进行。打开前导0功能之后,会根据数据位宽来显示对应0的个数。

CodingCos的博客 2046

Drawing lines with a mouse - JSFiddle

Drawing lines with a mouse - JSFiddle var canvas = new fabric.Canvas('c', { selection: false }); var line, isDown; canvas.on('mouse:down', function(o){ isDown = true; var pointer =...

apple443322的博客 145

爬虫:一文掌握 Pydoll 的详细使用(彻底改变浏览器自动化,且能绕过绕过验证码!)

Pydoll正在彻底改变浏览器自动化!与其他解决方案不同,它消除了对Web驱动程序的需求,提供了流畅可靠的自动化体验和本机异步性能。

数据知道的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Drawing lines

three.js 绘制线条

JKK24的博客 532

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

画线(Drawing lines)

画线(Drawing lines) 这里使用的是vue组件来实现three.js画线 定义 id为container的div接收绘制出的线条 <template> <div class="lines"> <h2>画线(Drawing lines)</h2> <div id="container"></div> </div> </template> 在methods中定义init方

Yubao的博客 892

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...

控制台程序。import javax.swing.JComponent;import java.util.*;import java.awt.*;import java.awt.geom.*;@SuppressWarnings("serial")public class SketcherView extends JComponent implements Observer {public Sket...

weixin_39637363的博客 561

Drawing lines in C# on scrollable form

Question Question Sign in to vote 0 Sign in to vote I have been drawing some lines on a form (no problem) but when I scroll down along the form (with the form’s scrollbar) the line remains in view. How do I change the line’s position as I scroll with the

波波诸葛伟 165

zcmu1010: Drawing Lines

Description Little Johnny likes to draw a lot. A few days ago he painted lots of straight lines on his sheet of paper. Then he counted in how many zones the sheet of paper was split by these lines. He noticed that this number is not always the same. For in

Mambahr的博客 559

Win32 Series - Drawing Dots and Lines

http://www-user.tu-chemnitz.de/~heha/petzold/   Drawing Dots and Lines In the first chapter, I discussed how the Windows Graphics Device Interface makes use of device drivers for the graphics out

fanbird2008的专栏 1783

1010: Drawing Lines

1010: Drawing Lines #include<stdio.h> int main() { int i,repeat; double s,a; scanf("%d",&repeat); for(i=1;i<=repeat;i++){ scanf("%lf",&a); s=(a*a+a+2)/2; printf("%.0f\n",s); } return 0; }

2201_75521311的博客 97

SGU - 135 - Drawing Lines (简单数学!)

SGU - 135 Drawing Lines Time Limit: 250MS   Memory Limit: 4096KB   64bit IO Format: %I64d & %I64u Submit Status Description Little Johnny likes to draw a lot. A few

Never say never 1189

Drawing lines in Mozilla based browsers and the Internet Explorer

http://www.handandaily.comhttp://www.codeproject.com/KB/scripting/javascriptlinedrawing.aspxhttp://www.handandaily.com 转载于:https://www.cnblogs.com/kaixin110/archive/2008/07/23/1249245.html

weixin_30659829的博客 74

Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...

控制台程序。 1 import javax.swing.JComponent; 2 import java.util.*; 3 import java.awt.*; 4 import java.awt.geom.*; 5 6 @SuppressWarnings("serial") 7 public class SketcherView extends JCompo...

weixin_30244681的博客 228
上一篇: Drawing Images(绘制图像)
下一篇: Constructing Paths(构建路径)
berained
博客等级 码龄20年 14粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值