<title>Cào Vui Có Thưởng| Trần Nguyễn Đan Trinh </title>
<style>
/* Set padding to keep content from hitting the edges */
.body-content {
padding-left: 15px;
padding-right: 15px;
}
/* Override the default bootstrap behavior where horizontal description lists
will truncate terms that are too long to fit in the left column
*/
.dl-horizontal dt {
white-space: normal;
}
/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
max-width: 280px;
}
.container2 {
border: 3px solid grey;
position: relative;
width: 300px;
height: 300px;
margin: 0 auto;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
.canvas2 {
position: absolute;
top: 0;
}
.form2 {
padding: 20px;
}
</style>
Cào đi - Vận may sẽ tới
Chúc Mừng Năm Mới 2022
Chúc mừng bạn đã nhận được
<script>
let arr = ["10.000", "10.000", "Chúc bạn may mắn lần sau", "Chúc bạn may mắn lần sau", "20.000", "20.000", "50.000", "10.000", "10.000", "Chúc bạn may mắn lần sau"];
let index = Math.floor(Math.random() * 10);
let code = document.getElementById("code");
let content = document.getElementById("content");
if (arr[index] != "Chúc bạn may mắn lần sau") {
code.innerText = arr[index] + " VND";
content.innerText = "Chúc Đại ca năm mới vui vẻ";
} else {
code.innerText = arr[index];
content.innerText = "";
}
</script>
<script>
(function() {
'use strict';
var isDrawing, lastPoint;
var container = document.getElementById('js-container'),
canvas = document.getElementById('js-canvas'),
canvasWidth = canvas.width,
canvasHeight = canvas.height,
ctx = canvas.getContext('2d'),
image = new Image(),
brush = new Image();
// base64 Workaround because Same-Origin-Policy
image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAKrCAMAAABYyA+mAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAADAFBMVEXaJR3bKxzlZRTlZBXxrAvxqwvbKB387gL87wLkYBX//wDkXxXwpwzwpgzaJx376gP86wPaKB3jWxbjWhbvogzvoQ3aJh375gP76APiVhfiVRfunQ3unA364gT65AThUBfhTxftlw7tlg753QX53wTgSxjgShjskg/skQ/42QX42AXfRRngRhnsjA/rjA/40wb30wbfQBn//gDfQhnrhxDrhhD3zgb3zQfePBr//QDePRrqghHqgRH2yQf2yAfdNhv+/AD//ADdOBrpfBHpexL1wwj1wgjcMxv++gH++wHdNBvodxLodhL0vgn0vQncMBz++AH++QHcMRvnchPncRPzuQnzuAnbLhz99gH+9gHcLhzmbRPmbBTytAryswr98wL99AHbLBzlZxTlZhTxrgvxrQvbKRz88AL98QLbKhzkYhXkYRXwqQvwqAz87ALjXRbjXBbvpAzvowz76QP86gPjVxbiVxbvng3ung364wTiURfhURfumA7tmA753gT63wThTBjhSxjtkw7tkg752gX52QXgRRngRxjsjg/sjQ/41Qb41AbfQRnfQxnriRDriBD30Ab3zwbePhrqhBDqgxD2ywf2ygfdORreOhrpfhHpfRH1xQj1xAjdNRvoeRLoeBL0wAj0vwncMhvcNBvndBPncxPzuwnzugn+9wHmbxPmbhPztQrytQr99QHbLRzlaRTlaBTyrwvxrwv98ALlYxXkYxXxqgvwqgv87QLkXhXkXRXwpQzwpAzjWRbjWBbvoA3vnw375QP75wPiUxfiUhfumg3umQ764QThThjhTRjtlQ7tlA753AXgSRjgSBjskA/sjw/41wX41gXfRBnriw/rihD30gb30QbePxrqhhDqhRD2zQf2zAfdOhreOxrpgBHpfxH1xwj1xgjdNxvpehLoehL1wQj0wQjodRLndRL0vAn0uwncLxzncBPnbxPztwrztgrmahTmaRTysQrysAr98gLiVBfumw352wX2xwf64ATePxnmaxTqgBHysgr///9y7SflAAAAAWJLR0T/pQfyxQAAAAd0SU1FB+EICgId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';
image.onload = function() {
ctx.drawImage(image, 0, 0);
// Show the form when Image is loaded.
document.querySelectorAll('.form2')[0].style.visibility = 'visible';
};
brush.src = 'data:image/png;base64,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';
canvas.addEventListener('mousedown', handleMouseDown, false);
canvas.addEventListener('touchstart', handleMouseDown, false);
canvas.addEventListener('mousemove', handleMouseMove, false);
canvas.addEventListener('touchmove', handleMouseMove, false);
canvas.addEventListener('mouseup', handleMouseUp, false);
canvas.addEventListener('touchend', handleMouseUp, false);
function distanceBetween(point1, point2) {
return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
}
function angleBetween(point1, point2) {
return Math.atan2(point2.x - point1.x, point2.y - point1.y);
}
// Only test every `stride` pixel. `stride`x faster,
// but might lead to inaccuracy
function getFilledInPixels(stride) {
if (!stride || stride < 1) {
stride = 1;
}
var pixels = ctx.getImageData(0, 0, canvasWidth, canvasHeight),
pdata = pixels.data,
l = pdata.length,
total = (l / stride),
count = 0;
// Iterate over all pixels
for (var i = count = 0; i < l; i += stride) {
if (parseInt(pdata[i]) === 0) {
count++;
}
}
return Math.round((count / total) * 100);
}
function getMouse(e, canvas) {
var offsetX = 0,
offsetY = 0,
mx, my;
if (canvas.offsetParent !== undefined) {
do {
offsetX += canvas.offsetLeft;
offsetY += canvas.offsetTop;
} while ((canvas = canvas.offsetParent));
}
mx = (e.pageX || e.touches[0].clientX) - offsetX;
my = (e.pageY || e.touches[0].clientY) - offsetY;
return {
x: mx,
y: my
};
}
function handlePercentage(filledInPixels) {
filledInPixels = filledInPixels || 0;
console.log(filledInPixels + '%');
if (filledInPixels > 50) {
canvas.parentNode.removeChild(canvas);
}
}
function handleMouseDown(e) {
isDrawing = true;
lastPoint = getMouse(e, canvas);
}
function handleMouseMove(e) {
if (!isDrawing) {
return;
}
e.preventDefault();
var currentPoint = getMouse(e, canvas),
dist = distanceBetween(lastPoint, currentPoint),
angle = angleBetween(lastPoint, currentPoint),
x, y;
for (var i = 0; i < dist; i++) {
x = lastPoint.x + (Math.sin(angle) * i) - 25;
y = lastPoint.y + (Math.cos(angle) * i) - 25;
ctx.globalCompositeOperation = 'destination-out';
ctx.drawImage(brush, x, y);
}
lastPoint = currentPoint;
handlePercentage(getFilledInPixels(32));
}
function handleMouseUp(e) {
isDrawing = false;
}
})();
</script>