python怎么画长方形_画一个漂亮的长方形
您可以通过使用绘制lines和arcs的函数来实现您想要的。在
要绘制的框架由4个相似的部分组成(每个角一个),每个部分旋转(或镜像)。在
让我们看看左上角:
如您所见,我们需要绘制2条线段(长度为d)和一条弧(半径为r的圆的四分之一)。在
假设左上角的坐标是(x1, y1)。在
这意味着弧的中心位于(x1 + r, y1 + r)。在
其中一行将从(x1 + r, y1)到(x1 + r + d, y1)。在
另一行将从(x1, y1 + r)到(x1, y1 + r + d)。在
其他角落也会发生类似的情况。在
示例代码:import cv2
import numpy as np
# ============================================================================
def draw_border(img, pt1, pt2, color, thickness, r, d):
x1,y1 = pt1
x2,y2 = pt2
# Top left
cv2.line(img, (x1 + r, y1), (x1 + r + d, y1), color, thickness)
cv2.line(img, (x1, y1 + r), (x1, y1 + r + d), color, thickness)
cv2.ellipse(img, (x1 + r, y1 + r), (r, r), 180, 0, 90, color, thickness)
# Top right
cv2.line(img, (x2 - r, y1), (x2 - r - d, y1), color, thickness)
cv2.line(img, (x2, y1 + r), (x2, y1 + r + d), color, thickness)
cv2.ellipse(img, (x2 - r, y1 + r), (r, r), 270, 0, 90, color, thickness)
# Bottom left
cv2.line(img, (x1 + r, y2), (x1 + r + d, y2), color, thickness)
cv2.line(img, (x1, y2 - r), (x1, y2 - r - d), color, thickness)
cv2.ellipse(img, (x1 + r, y2 - r), (r, r), 90, 0, 90, color, thickness)
# Bottom right
cv2.line(img, (x2 - r, y2), (x2 - r - d, y2), color, thickness)
cv2.line(img, (x2, y2 - r), (x2, y2 - r - d), color, thickness)
cv2.ellipse(img, (x2 - r, y2 - r), (r, r), 0, 0, 90, color, thickness)
# ============================================================================
img = np.zeros((256,256,3), dtype=np.uint8)
draw_border(img, (10,10), (100, 100), (127,255,255), 1, 10, 20)
draw_border(img, (128,128), (240, 160), (255,255,127), 1, 5, 5)
cv2.imwrite('round_rect.png', img)
结果:
python怎么画长方形_画一个漂亮的长方形相关推荐
- python简单图画程序_制作一个简单的画图小程序界面
1 新建一个文本文档,然后点击重命名,建立一个python文件.后缀为.py.如图所示,系统会提示是否更改后缀,点击是.然后就创建了一个python文件. 2 打开刚才创建的文件,使用idle打开方式 ...
- python绘制太阳系模型_画一个太阳系的模型
1 .画一个太阳系的模型? 2 .地球公转对地球有什么影响? 3 .摆在摆钟里是怎样工作的?摆在摆钟里起到了什么作用?人们为什么会选择摆作为摆钟 的控制核心?摆的快慢与那些因素有关? 4 . Xx 家 ...
- python的turtle画小人_当一个学了20分钟python turtle 的人画滑稽会怎样
python 3.7 链接:https://pan.baidu.com/s/1Lob447oqCgD6nb39sB9cig 提取码:vn0a pycharm 链接:https://pan.baidu. ...
- python画气泡图_画气泡图的十二个图表库
R – ggplot2Native R 可以来画图,但 ggplot2 才是乐趣的开始.我花了很多时间才弄懂它 – 特别是有许多方式来写ggplots2 命令.最终,我确定把一种灵活和操作简单的方法呈 ...
- python生成网络拓扑图_画网络拓扑图 - neteworkx-python- - ItBoth
[NETWORK ASSOCIATES GUIDE TO COMMUNICATIONS PROTOCOLS 网络协议关系拓扑图 很全面 很好 值得收藏!] 在python下安装networkx绘制复杂 ...
- 用python画佩奇_画佩奇 - python代码库 - 云代码
[python]代码库from turtle import* def nose(x,y):#鼻子 pu() goto(x,y) pd() seth(-30) begin_fill() a=0.4 fo ...
- python用渐变色画圆_画圆圈和设置渐变色
_height = self.frame.size.height; _width = self.frame.size.width; //圆心 self.circleCenter = CGPointMa ...
- python和报表生成工具_推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen...
reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...
- python pygame小游戏_第一个python+pygame小游戏
没有周队那么有情调,自己写故事做rpg,又没什么绘画功底,只能做这样的休闲棋类游戏.本来是用java写的,但里面绘图太麻烦了(或者说我不会多线程),又想起前几天看到的pygame,于是果断python ...
最新文章
- Vue 过渡组件,可实现组件或者页面的动画过渡或者css过渡
- AdvFlow:一种基于标准化流的黑盒攻击新方法,产生更难被发觉的对抗样本 | NeurIPS‘20
- 大剑无锋之UNION 和 UNION ALL (SQL)【面试推荐】
- Istio 中的授权策略详解
- 一个带关闭按钮的Div窗口,很漂亮
- vueAdmin-template-master十次方后台项目前端(已经完成初始化)下载地址
- 9550电机_电机 9550怎么来的
- 计算机基础知识2003,计算机基础知识PPT2003练习题及答案(DOC)
- dnf喇叭怎么设置不显示服务器,《DNF》屏蔽广告喇叭方法 广告喇叭怎么关掉
- 11 月全国程序员平均工资出炉
- 八皇后问题(回溯算法)
- 用Fiddler做抓包分析详解
- C++快速入门学习笔记(二)
- 谷歌浏览器历史记录查看很慢解决方案
- ubuntu18.04程序开机自启动
- 美团面试——餐饮系统开发
- 图片访问错误显示碎图
- 吊打面试官!MySQL和Oracle灵魂100问,你能答出多少?
- 使用御剑工具,扫描网站http://43.138.211.45的后台地址
- android 背影模糊,Android透明背景的高斯模糊一点记录
热门文章
- commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(三)-中英对照文档及源码赏析
- background图片叠加_css在图片上叠加层(其他图标)
- Java Rasp技术浅析
- 【单调栈】P4147 玉蟾宫
- 更改会话语言oracle,alter session 修改的参数值在会话中如何回退
- 用c语言编程宿舍管理系统,学生宿舍管理系统 C语言编程.doc
- FreeRTOS动态创建任务
- samba 配置文件详解
- 崔希凡JavaWeb笔记day19-day21(2016年10月4日17:35:51)
- angularjs2大漠穷秋视频笔记整理