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万+

时间卷积网络(TCN):结构+pytorch代码

文章目录TCNTCN结构1-D FCN的结构因果卷积(Causal Convolutions)膨胀因果卷积(Dilated Causal Convolutions)膨胀非因果卷积(Dilated Non-Causal Convolutions)残差块结构pytorch代码讲解 TCN   TCN(Temporal Convolutional Network)是由Shaojie Bai et al....

Leon_winter的博客 11万+

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

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

weixin_42664107的博客 916

智能驾驶域控(ADCU)方案介绍

本文主要对智能驾驶域控(ADCU)方案相关知识进行总结,以加深理解,及方便后续查漏补缺。

liuxu324的博客 1572

Ollama模型路径迁移实战:Windows/Mac/Linux三系统保姆级教程(附常见问题排查)

本文提供了一份详细的Ollama模型路径迁移教程,涵盖Windows、macOS和Linux三大操作系统。针对默认安装路径占用系统盘空间的问题,文章指导用户如何安全移动模型文件、配置环境变量、重启服务,并附有迁移后的验证步骤与常见问题排查方法,帮助用户高效管理本地AI模型存储。

gray5的博客 540

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

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

fengyuan的专栏 2183

基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践

本文聚焦企业级报告生成场景中 “在线编辑模板 + 动态数据填充” 的核心需求,详细阐述基于 POI-TL、OnlyOffice 与 MinIO 的全栈实现方案。通过代码示例拆解模板加载、文字填充、图表匹配渲染(含通过关系 ID 关联图表与段落的关键逻辑)、报告存储全步骤。最终通过技术组合实现业务人员可视化编辑模板、后端高效填充数据的目标,为同类动态 Word 生成需求提供可复用的实践参考。

imHanweihu的博客 1866

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

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

weixin_39880621的博客 514

YOLOv13教程:手把手教你CSP_MutilScaleEdgeInformationSelect模块 通过DSM 在空间与局部对比域上做自适应选择

绿色线条为添加CSP_MutilScaleEdgeInformationSelect后的训练效果,map50指标提升12.45,准确率提升5.44。

FJN110的博客 816

基于LLaMA-action模型的文档摘要任务微调

文档摘要是指从长文档中提取关键信息,生成简短而准确的总结。抽取式摘要:从原文中直接抽取关键句子或短语组成摘要。生成式摘要:通过生成新的句子来表达原文的核心内容。混合式摘要:结合抽取式和生成式方法,既保留原文的关键句子,又生成新的内容。新闻网站:自动生成新闻摘要,帮助用户快速了解新闻要点。社交媒体:为用户提供新闻摘要,便于分享和传播。学术搜索引擎:为用户提供学术文献的摘要,帮助用户快速筛选相关文献。学术写作辅助:帮助研究人员快速生成文献综述部分。企业内部文档管理:自动生成文档摘要,便于员工快速了解文档内容。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1430

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

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

CZ-001的博客 1611

SOC估算方法之(OCV-SOC+安时积分法)

此方法主要参考。

m0_61973119的博客 933

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

第28节:cesium 加载高程数据(含源码+视频)

cesium 加载高程(地形)数据

qq_29384639的博客 1740

visio安装包

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

Drawing lines

three.js 绘制线条

JKK24的博客 532

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

画线(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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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、付费专栏及课程。

余额充值