canvas로 인증 코드 생성
function () {
this.options.code = ''
var canvas = document.getElementById(this.options.canvasId)
if (canvas.getContext) {
var ctx = canvas.getContext('2d')
} else {
return
}
ctx.textBaseline = 'middle'
ctx.fillStyle = this.randomColor(180, 240)
ctx.fillRect(0, 0, this.options.width, this.options.height)
var txtArr = ''
if (this.options.type === 'blend') {
txtArr = this.options.numArr.concat(this.options.letterArr)
} else if (this.options.type === 'number') {
txtArr = this.options.numArr
} else {
txtArr = this.options.letterArr
}
for (var i = 1; i <= 4; i++) {
var txt = txtArr[this.randomNum(0, txtArr.length)]
this.options.code += txt
ctx.font = this.randomNum(this.options.height / 2, this.options.height) + 'px SimHei'
ctx.fillStyle = this.randomColor(50, 160)
ctx.shadowOffsetX = this.randomNum(-3, 3)
ctx.shadowOffsetY = this.randomNum(-3, 3)
ctx.shadowBlur = this.randomNum(-3, 3)
ctx.shadowColor = 'rgba(0, 0, 0, 0.3)'
var x = this.options.width / 5 * i
var y = this.options.height / 2
var deg = this.randomNum(-30, 30) /** **/
ctx.translate(x, y)
ctx.rotate(deg * Math.PI / 180)
ctx.fillText(txt, 0, 0) /** **/
ctx.rotate(-deg * Math.PI / 180)
ctx.translate(-x, -y)
}
/** **/
for (var LT = 0; LT < 4; LT++) {
ctx.strokeStyle = this.randomColor(40, 180)
ctx.beginPath()
ctx.moveTo(this.randomNum(0, this.options.width), this.randomNum(0, this.options.height))
ctx.lineTo(this.randomNum(0, this.options.width), this.randomNum(0, this.options.height))
ctx.stroke()
}
/** **/
for (var FL = 0; FL < this.options.width / 40; FL++) {
ctx.fillStyle = this.randomColor(0, 255)
ctx.beginPath()
ctx.arc(this.randomNum(0, this.options.width), this.randomNum(0, this.options.height), 1, 0, 2 * Math.PI)
ctx.fill()
}
},
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.