当前位置: 首页 > news >正文

做网站需要会什么 知乎网站建设中通知

做网站需要会什么 知乎,网站建设中通知,开发一款app软件可以赚多少钱,服装网站建设策划书在uni-ui中找不到对应的工具 后面想想也是 移动端取色干什么&#xff1f; 没办法 也挂不住特殊需求 因为去应用市场下载 这总东西 又不是很有必要 那么 下面这个组件或许能解决您的烦恼 <template><view class"content"><view class"dialog&…

在uni-ui中找不到对应的工具

后面想想也是 移动端取色干什么?
没办法 也挂不住特殊需求

因为去应用市场下载 这总东西 又不是很有必要

那么 下面这个组件或许能解决您的烦恼

<template><view class="content"><view class="dialog"><view id="colorBg" class="colorBg" @touchstart="startTouch" @touchmove="moveIng"@touchend="endTouch"><view class="roundBuff" :catchtouchmove="true" @c.stop="()=>{}" :style="'transform:rotate(' +degrees +'deg)'"></view><view class="colorPan" :style="'color:'+getColorByDeg(this.degrees)">拖转轮播取色</view></view><view class="flex" style="margin-top: 100rpx;"><button class="lee_btn" @click.stop = "close" type="default">取消</button><button class="lee_btn" @click.stop = "readColor" type="default">确认</button></view></view></view>
</template><script>export default {data() {return {pointerShow: true,colorPanWidth: 20,colorPanRadius: 0,pointerBox: {},degrees: 0}},mounted() {uni.getSystemInfo({success: (res) => {uni.createSelectorQuery().select('#colorBg').boundingClientRect((rect) => {this.pointerBox = rect}).exec()this.colorPanRadius = res.screenWidth * 0.4}})},methods: {close(){this.$emit('close');},readColor(){let colro = this.getColorByDeg(this.degrees);this.$emit('change',colro);},rbg2Hex(r, g, b) {return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);},calculationScheme(deg) {deg = 360- deg + 120const r = Math.round(Math.sin((deg * 2 * Math.PI) / 360) * 255)const g = Math.round(Math.sin(((deg + 120) * 2 * Math.PI) / 360) * 255)const b = Math.round(Math.sin(((deg + 240) * 2 * Math.PI) / 360) * 255)return this.colorRgbToHex(`rgb(${r},${g},${b})`);},startTouch(e) {const {pageX,pageY} = e.touches[0]this.rotatePointer(pageX, pageY)},endTouch(e) {const {pageX,pageY} = e.changedTouches[0]this.rotatePointer(pageX, pageY)},moveIng(e) {const {pageX,pageY} = e.touches[0]this.rotatePointer(pageX, pageY)},rotatePointer(pageX = 0, pageY = 0) {const {pointerBox,colorPanWidth} = thisconst mouseX = pageX - colorPanWidthconst mouseY = pageY - colorPanWidthvar centerY = pointerBox.top + (pointerBox.height / 2) - 0,centerX = pointerBox.left + (pointerBox.height / 2) - 0,radians = Math.atan2(mouseX - centerX, mouseY - centerY)this.degrees = (radians * (180 / Math.PI) * -1) + 180;},getColorByDeg(deg) {deg = 360- deg + 120const r = Math.round(Math.sin((deg * 2 * Math.PI) / 360) * 255)const g = Math.round(Math.sin(((deg + 120) * 2 * Math.PI) / 360) * 255)const b = Math.round(Math.sin(((deg + 240) * 2 * Math.PI) / 360) * 255)return `rgb(${r},${g},${b})`},colorRgbToHex(rgbStr) {const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8}|[0-9a-fA-f]{6}[0-9]{2})$/;if (reg.test(rgbStr)) {return rgbStr} else {const rgbArray = rgbStr.replace(/(?:\(|\)|rgba|rgb|RGBA|RGB)*/g, "").split(",");let strHex = "#";for (let i = 0; i < rgbArray.length; i++) {if (i !== 3) {if (rgbArray[i] == "0") {strHex += "00"} else {let newItem =Number(rgbArray[i]).toString(16)if (newItem.length < 2){newItem = "0" + newItem}strHex += newItem}} else {strHex += rgbArray[i] == "0" ? "" : Number(rgbArray[i]) * 100}}return strHex;}}}}
</script><style>.dialog {display: block;border-radius: 30rpx;background-color: #303030;margin: 20rpx;padding: 30rpx;}.flex {display: flex;justify-content: space-between;}.colorBg {width: 80vw;height: 80vw;margin: 5vw;background: conic-gradient(red,yellow,lime,aqua,blue,fuchsia,red);border-radius: 50%;position: relative;display: flex;justify-content: center;align-items: center;}.roundBuff {width: 55vw;height: 55vw;-webkit-transform-origin: center 50%;transform-origin: center 50%;background: #303030;border-radius: 50%;}.roundBuff::before {content: "";width: 15px;height: 15px;background: #303030;border: solid #303030;border-width: 10px 10px 0 0;transform: translate(-50%, -50%) rotate(-45deg);position: absolute;left: 50%;top: 2%;
}.lee_btn {background: #00000000;color: #FFFFFF;width: 36%;height: 80rpx;line-height: 70rpx;text-align: center;justify-content: center;font-size: 30rpx;border-radius: 50rpx;border: 5rpx #FFFFFF solid;font-weight: bold;padding: 1px 20px;}.colorPan {position: absolute;color: #FFFFFF;}
</style>

直接将整个组件复制过去 接口使用
在这里插入图片描述
组件有两个方法
change 当你点击确定时触发 返回 RGB 色码
close 当你点击取消时触发
在这里插入图片描述

http://www.yayakq.cn/news/235826/

相关文章:

  • 成都网站的贵州网站建设lonwone
  • 河南省建设注册中心网站中国建设银行官网首页
  • 网站做电商销售需要注册吗品牌设计主要做哪些内容
  • 深圳宝安区租房子多少钱一个月站长之家seo综合
  • 爱用建站怎么样惠州网站建设信息
  • 微信网站制作免费四川住房和城乡建设九大员网站
  • ie兼容所有网站建网站需要怎样做
  • 淘宝做导航网站线上营销平台有哪些
  • 满城做网站电话网页设计的摘要怎么写
  • 中象做网站怎么样门户网站平台建设方案
  • 怎么建设自己淘宝网站wordpress文章不见
  • 网站建设与开发要学什么专业公司网站建设征稿令
  • 企业做网站找谁建筑公司网站董事长致辞
  • 网站建设源代码怎么搭建新浪做网站
  • 网站底部流程唐山市城市建设规划局网站
  • wordpress导航菜单修改吉林百度seo
  • 珠海电脑自己建网站深圳做企业网站的
  • 四会市网站建设wordpress不能播放wmv
  • 网站怎么显示百度名片wordpress支付
  • 做选择的网站网站建设主要工作内容
  • 网站设计计划书模板网站信息化建设建议书
  • 长沙网站建设公司门户网站推广介绍方案
  • 商务推广网站网站建设国内外研究现状模板
  • 网站标准尺寸县检察院门户网站建设情况
  • 微网站自助建站平台哪个好怎么看wordpress数据库位置
  • 如需郑州网站建设手机网站的做
  • 建设银行什么网站可买手表市场推广seo职位描述
  • 中文网站模板下载免费做软装什么网站可以吗
  • 国外做的好的电商网站推荐小程序排行榜
  • 电子商务网站建设知识点总结亚马逊跨境电商