js实现canvas皇家斯图尔特格子背景效果代码

代码语言:html

所属分类:背景

代码描述:js实现canvas皇家斯图尔特格子背景效果代码

代码标签: 皇家 斯图尔特 格子 背景 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>

  <meta charset="UTF-8">

  
  
  
<style>
body {
	margin:0;
	background:#034710;	
}


#cvs {
	border:solid black 4px;
	border-radius:12px;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}
</style>




</head>

<body >
  <canvas id="cvs" width="599" height="599"></canvas>

      <script >
let ctx
const SQUARE_SIZE = 599
const MAIN_COLOR = '#AB0303'
const RED_WEAVE_COLOR = '#810303'
const BLUE_WEAVE_COLOR = '#2C215E'
const BLACK_WEAVE_COLOR = '#150B0B'
const YELLOW_WEAVE_COLOR = '#AB8D03'
const WHITE_WEAVE_COLOR = '#B9B9B9'
const GREEN_WEAVE_COLOR = '#094710'
const BLUE_BK_COLOR = '#25256D'
const BLACK_BK_COLOR = '#0C0C0C'
const GREEN_BK_COLOR = '#035613'
const YELLOW_BK_COLOR = '#C3A103'
const YELLOW_BK_WEAVE_COLOR = '#987E03'
const WHITE_BK_COLOR = '#D4D4D4'
const WHITE_BK_WEAVE_COLOR = '#A1A1A1'

function drawTartan() {
	const cvsNd = document.getElementById("cvs")
	ctx = cvsNd.getContext('2d')
	
	solidWeave({x:0,y:0,w:SQUARE_SIZE,h:SQUARE_SIZE,c:MAIN_COLOR,wc:RED_WEAVE_COLOR})
	
	let nNewY = 0
	let nWidth = 72
	let nNewX = 0

	gapRow({y:nNewY,h:72})
	
	nNewY = 180
	gapRow({y:nNewY,h:20})
	
	nNewY = nNewY + 26
	gapRow({y:nNewY,h:8})
	
	nNewY = nNewY + 16
	gapRow({y:nNewY,h:8})
	
	nNewY = nNewY + 16
	gapRow({y:nNewY,h:20})
	
	nNewY = nNewY + 130
	gapRow({y:nNewY,h:152})
	
	// ***
	nNewX=0
	nNewY=0
	nNewY = 72
	regRow({y:nNewY,h:18,c:BLUE_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+18
	
	regRow({y:nNewY,h:24,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})	
	nNewY=nNewY+24
	
	regRow({y:nNewY,h:8,c:YELLOW_WEAVE_COLOR})	
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:8,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})	
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:8,c:WHITE_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:8,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:34,c:GREEN_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+34

	nNewY=nNewY+18
	regRow({y:nNewY,h:8,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})
	nNewY=nNewY+8
	
	nNewY=nNewY+8
	regRow({y:nNewY,h:9,c:WHITE_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+9
	
	nNewY=nNewY+8
	regRow({y:nNewY,h:8,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})
	nNewY=nNewY+8
	
	nNewY=nNewY+18
	regRow({y:nNewY,h:34,c:GREEN_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+34
	
	regRow({y:nNewY,h:8,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:9,c:WHITE_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+9
	
	regRow({y:nNewY,h:8,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:8,c:YELLOW_WEAVE_COLOR})	
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:26,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})	
	nNewY=nNewY+26
	
	regRow({y:nNewY,h:18,c:BLUE_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+18
	
	nNewY=nNewY+152
	regRow({y:nNewY,h:18,c:BLUE_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+18
	
	regRow({y:nNewY,h:25,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})	
	nNewY=nNewY+25
	
	regRow({y:nNewY,h:8,c:YELLOW_WEAVE_COLOR})	
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:8,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})
	nNewY=nNewY+8
	
	regRow({y:nNewY,h:9,c:WHITE_WEAVE_COLOR,bgc:BLUE_BK_COLOR})
	nNewY=nNewY+9
	
	regRow({y:nNewY,h:10,c:BLACK_WEAVE_COLOR,bgc:BLACK_BK_COLOR})
	nNewY=nNewY+10
	//console.log(nNewY)
} // end of drawTartan


//function weaveY1(startX,startY,nWidth,nHeight,nOffset,sColor,sBgColor) {
function weaveY1(params) {
	let startX = params.x
	let startY = params.y
	let nWidth = params.w
  let nHeight = params.h
	let nOffset = params.o
	let sColor = params.c
	let sBgColor = params.b
	let sBgStichColor = params.bsc
	
	let nStart = nWidth
	
	if (nHeight>nWidth) {
		nStart = nHeight
	} // end if
	
	let x = (nStart+nOffset) * -1
	
	let y = startY
	const c2 = document.createElement("canvas")
	c2.width = nWidth
	c2.height = nHeight
	const ctx2 = c2.getContext('2d')
	ctx2.lineWidth = 1.5
	ctx2.strokeStyle = sColor
	
	do {
		ctx2.beginPath()
		ctx2.moveTo(x, 0)
		let x2 = x+nHeight
		let y2 = nHeig.........完整代码请登录后点击上方下载按钮下载查看

网友评论0