首页 > 其他分享 >直播app开发搭建,uniapp实现canvas画倾斜的圆

直播app开发搭建,uniapp实现canvas画倾斜的圆

时间:2022-08-30 14:25:41浏览次数:63  
标签:uniapp canvas 椭圆 app ctx scale

直播app开发搭建,uniapp实现canvas画倾斜的圆

首先在uni的canvas里面是没有画椭圆的函数的,想要实现椭圆有很多种方法

 

可以使用lineTo不停的改变很小的间距来画 但是十分耗费性能

使用arc画圆,使用scale进行变形

可以使用arcTo 贝塞尔曲线等进行椭圆的绘制,主要是要找到控制点,相对麻烦一些

那么我使用的就是第二种方法,主要是因为比较简单,虽然也有一定的弊端 比如进行缩放的时候他的位置会移动 ,再比如画出的曲线线条宽度不一致,但是无伤大雅

 

下面就是这篇文章的主要内容 椭圆是画出来了,但是我们有倾斜的需求该怎么办呢?就要使用到translate和rotate,具体的都在代码里写了


// 可以参考下思路 主要还是跟据场景来定
drawSkimLine(ctx, x,y,radius) {
ctx.lineWidth = 2;
ctx.strokeStyle = "red";
ctx.beginPath();
ctx.translate(x,y) //将画布的原点定位到 椭圆的圆心
ctx.rotate(30 * Math.PI / 180); //椭圆倾斜的角度
ctx.scale(0.3, 1);//因为arc画的是圆 是通过scale变形变成的椭圆
ctx.arc(0, 0, radius, 0, Math.PI * 2);//画圆 注意这里前两个参数是0,0
ctx.stroke();
ctx.draw();
 
 
}

​那么这个的重点就是顺序一定一定要按照上面的顺序来,如果先scale 你会发现不管你怎么旋转都是没有用的,如果不先translate去定位原点,旋转和缩放就会脱离轨迹

以上就是 直播app开发搭建,uniapp实现canvas画倾斜的圆,更多内容欢迎关注之后的文章

 

标签:uniapp,canvas,椭圆,app,ctx,scale
From: https://www.cnblogs.com/yunbaomengnan/p/16639122.html

相关文章

  • 视频直播app源码,实现渐变文字 ,文字换行,加空格
    视频直播app源码,实现渐变文字,文字换行,加空格1、渐变文字,其实是偷换了概念运用背景色的渐变   .text:{font-family:STSongti-SC-Black; font-size:28px; backg......
  • 苹果M1芯片安装xxx.app 显示已损坏,无法打开,你应该将它移到废纸篓/打不开 xxx
    转载自:https://www.bilibili.com/read/cv14204425 在我们安装一些Mac软件时系统会出现“xxx已损坏,打不开。您应将它移到废纸篓”或者“打不开xxx,因为它来自身份不明的......
  • appium入门
    Appium入门参数:platformName:平台名称,一般是Android或iOS;platformVersion:平台的版本号,可以使用以下命令:adbshellgetpropro.build.version.releasedeviceName:......
  • 巧用 transition 实现短视频 APP 点赞动画
    在各种短视频界面上,我们经常会看到类似这样的点赞动画:非常的有意思,有意思的交互会让用户更愿意进行互动。那么,这么有趣的点赞动画,有没有可能使用纯CSS实现呢?那当然是......
  • 彻底弄懂bind,apply,call三者的区别 (转)
    为什么要改变this指向?我们知道bind,call,apply的作用都是用来改变this指向的,那为什么要改变this指向呢?请看下面的例子:varname="lucy";letobj={name:"martin",say:......
  • uniapp textarea字数限制问题
    <textareav-model="signUpformData.introduce"placeholder="请输入"maxlength="1000"placeholderStyle="color:#999;font-size:13px;"c......
  • uniapp实现IM即时通讯仿微信聊天功能
    本文介绍如何基于UNIAPP使用即时通讯SDKZIMSDK快速实现基本的消息收发功能。1uniappim即时通讯功能方案介绍即时通讯SDKZIMSDK提供了如下接入方案:在此方......
  • uniapp+.net core 小程序获取手机号
    获取手机号从基础库2.21.2开始,对获取手机号的接口进行了安全升级,以下是新版本接口使用指南。(旧版本接口目前可以继续使用,但建议开发者使用新版本接口,以增强小程序安全性......
  • uniapp 微信小程序封装全局弹框(登录拦截)
        新增组件页面:loginProp.vue<template><viewclass="login-box"v-if="loginShow"><viewclass="center-box"><imageclass="l......
  • uniapp 安卓证书
    安装JRE环境使用以下命令keytool-genkey-aliastest-keyalgRSA-keysize2048-validity36500-keystoretest.keystore然后会在C盘用户的文件夹下面有这个生成......