Trang chủ
>
skin >
skin NONE
Skin 3M cho Body Canon EOS R5
MỚI 100%
Đơn giá:
400,000đ
Giảm: 0đ
400,000đ
Hotline đặt hàng:
0937148222
(08:00-20:00)
KHUYẾN MÃI ÁP DỤNG TỪ
đến
Thông số nổi bật
Bề mặt skin nổi giúp cầm nắm chắc chắn, không bám mồ hôi tay. Độ bền cao, dễ uốn nắn khi dán. Dán ôm toàn bộ ngoại hình của máy ảnh, toàn bộ viền và phần lưng của máy giúp bảo vệ máy tránh khỏi trầy xước, va quẹt tối đa trong quá trình sử dụng. Không để lại keo khi bóc trong điều kiện môi trường bình thường(trừ trường hợp bề mặt nóng, tiếp súc nguồn nhiệt cao).
Tổng quan
Sản Phẩm khác
Sản Phẩm cũ
Tính Năng
Sản phẩm bao gồm
Thông số
Skin 3M cho Body Canon EOS R6 Mark II
Đơn giá
400,000đ
Skin 3M cho Body Canon EOS R5 Mark II
Đơn giá
400,000đ
Skin 3M cho Body Canon EOS R
Đơn giá
400,000đ
Skin 3M cho Body Canon EOS RP
Đơn giá
400,000đ
Skin 3M cho Body Nikon Z6/ Z6 mark II
Đơn giá
400,000đ
Skin 3M cho Body Nikon Z5/ Z5 mark II
Đơn giá
400,000đ
Skin 3M cho Body Nikon Z7/ Z7 mark II
Đơn giá
400,000đ
Skin 3M cho Lens Nikon Z 24-70mm F4S
Đơn giá
250,000đ
Skin 3M cho Lens Nikon Z 28-75mm F2.8S
Đơn giá
250,000đ
Skin 3M cho Lens Nikon Z 50mm F1.8S
Đơn giá
250,000đ
Skin 3M cho Lens Nikon Z 50mm F1.2S
Đơn giá
250,000đ
Skin 3M cho Lens Nikon Z 85mm F1.8S
Đơn giá
250,000đ
Skin 3M cho Lens Nikon Z 35mm F1.8S
Đơn giá
250,000đ
Skin 3M cho Lens Nikon Z 70-200mm F2.8 VR S
Đơn giá
250,000đ
SKIN LENS SIGMA 70-200mm F2.8 DG DN OS SPORTS FOR SONY
Đơn giá
600,000đ
Bề mặt skin nổi giúp cầm nắm chắc chắn, không bám mồ hôi tay. Độ bền cao, dễ uốn nắn khi dán. Dán ôm toàn bộ ngoại hình của máy ảnh, toàn bộ viền và phần lưng của máy giúp bảo vệ máy tránh khỏi trầy xước, va quẹt tối đa trong quá trình sử dụng. Không để lại keo khi bóc trong điều kiện môi trường bình thường(trừ trường hợp bề mặt nóng, tiếp súc nguồn nhiệt cao).
Tags
×
1 / 5
(function () {
const requestAnimFrame = (function () {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function (callback) {
window.setTimeout(callback, 1000 / 60);
};
})();
const hieuUngPhaoHoa = {
canvas: document.getElementById('hieuUngPhaoHoa__canvas'),
ctx: null,
cw: window.innerWidth,
ch: window.innerHeight,
fireworks: [],
particles: [],
colors: [0, 60, 300], // Mảng các màu
hue: 0,
timerTotal: 30, // Giảm thời gian giữa các lần bắn
timerTick: 0,
isActive: true, // Biến để kiểm soát trạng thái hoạt động
init: function () {
this.ctx = this.canvas.getContext('2d');
this.canvas.width = this.cw;
this.canvas.height = this.ch;
this.loop();
// Tự động dừng sau 5 giây
setTimeout(() => {
this.isActive = false;
}, 5000);
},
calculateDistance: function (p1x, p1y, p2x, p2y) {
const xDistance = p1x - p2x;
const yDistance = p1y - p2y;
return Math.sqrt(Math.pow(xDistance, 2) + Math.pow(yDistance, 2));
},
random: function (min, max) {
return Math.random() * (max - min) + min;
},
createParticles: function (x, y) {
let particleCount = 30;
// Chọn màu ngẫu nhiên từ mảng
this.hue = this.colors[Math.floor(Math.random() * this.colors.length)];
while (particleCount--) {
this.particles.push(new Particle(x, y, this));
}
},
// Main loop
loop: function () {
if (!this.isActive && this.fireworks.length === 0 && this.particles.length === 0) {
return; // Dừng animation khi hết pháo hoa
}
requestAnimFrame(this.loop.bind(this));
this.hue += 0.5;
this.ctx.globalCompositeOperation = 'destination-out';
this.ctx.fillStyle = 'rgba(0, 0, 0, 0.5)';
this.ctx.fillRect(0, 0, this.cw, this.ch);
this.ctx.globalCompositeOperation = 'lighter';
let i = this.fireworks.length;
while (i--) {
this.fireworks[i].draw();
this.fireworks[i].update(i);
}
i = this.particles.length;
while (i--) {
this.particles[i].draw();
this.particles[i].update(i);
}
// Tự động bắn pháo hoa nếu đang hoạt động
if (this.isActive && this.timerTick >= this.timerTotal) {
this.fireworks.push(new Firework(
this.cw / 2, this.ch,
this.random(0, this.cw),
this.random(0, this.ch / 2),
this
));
this.timerTick = 0;
} else {
this.timerTick++;
}
}
};
// Firework class
class Firework {
constructor(sx, sy, tx, ty, main) {
this.main = main;
this.x = sx;
this.y = sy;
this.sx = sx;
this.sy = sy;
this.tx = tx;
this.ty = ty;
this.distanceToTarget = main.calculateDistance(sx, sy, tx, ty);
this.distanceTraveled = 0;
this.coordinates = [];
this.coordinateCount = 3;
while (this.coordinateCount--) {
this.coordinates.push([this.x, this.y]);
}
this.angle = Math.atan2(ty - sy, tx - sx);
this.speed = 2;
this.acceleration = 1.05;
this.brightness = main.random(50, 70);
this.targetRadius = 1;
}
update(index) {
this.coordinates.pop();
this.coordinates.unshift([this.x, this.y]);
if (this.targetRadius < 8) {
this.targetRadius += 0.3;
} else {
this.targetRadius = 1;
}
this.speed *= this.acceleration;
const vx = Math.cos(this.angle) * this.speed;
const vy = Math.sin(this.angle) * this.speed;
this.distanceTraveled = this.main.calculateDistance(
this.sx, this.sy, this.x + vx, this.y + vy
);
if (this.distanceTraveled >= this.distanceToTarget) {
this.main.createParticles(this.tx, this.ty);
this.main.fireworks.splice(index, 1);
} else {
this.x += vx;
this.y += vy;
}
}
draw() {
this.main.ctx.beginPath();
this.main.ctx.moveTo(
this.coordinates[this.coordinates.length - 1][0],
this.coordinates[this.coordinates.length - 1][1]
);
this.main.ctx.lineTo(this.x, this.y);
this.main.ctx.strokeStyle = `hsl(${this.main.hue}, 100%, ${this.brightness}%)`;
this.main.ctx.stroke();
}
}
// Particle class
class Particle {
constructor(x, y, main) {
this.main = main;
this.x = x;
this.y = y;
this.coordinates = [];
this.coordinateCount = 5;
while (this.coordinateCount--) {
this.coordinates.push([this.x, this.y]);
}
this.angle = main.random(0, Math.PI * 2);
this.speed = main.random(1, 10);
this.friction = 0.95;
this.gravity = 1;
this.hue = main.random(main.hue - 20, main.hue + 20);
this.brightness = main.random(50, 80);
this.alpha = 1;
this.decay = main.random(0.015, 0.03);
}
update(index) {
this.coordinates.pop();
this.coordinates.unshift([this.x, this.y]);
this.speed *= this.friction;
this.x += Math.cos(this.angle) * this.speed;
this.y += Math.sin(this.angle) * this.speed + this.gravity;
this.alpha -= this.decay;
if (this.alpha <= this.decay) {
this.main.particles.splice(index, 1);
}
}
draw() {
this.main.ctx.beginPath();
this.main.ctx.moveTo(
this.coordinates[this.coordinates.length - 1][0],
this.coordinates[this.coordinates.length - 1][1]
);
this.main.ctx.lineTo(this.x, this.y);
this.main.ctx.strokeStyle = `hsla(${this.hue}, 100%, ${this.brightness}%, ${this.alpha})`;
this.main.ctx.stroke();
}
}
// Khởi chạy khi trang load xong
//window.addEventListener('load', () => hieuUngPhaoHoa.init());
})();