Trang chủ
>
cage >
cage SMALLRIG
SmallRig Camera Cage cho Canon EOS R5 và R6 - 2982
MỚI 100%
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
SmallRig Cage – 2982 được thiết kế dành cho máy ảnh Canon EOS R5 và R6 đảm bảo duy trì quyền truy cập vào máy ảnh, đồng thời mang lại nhiều tùy chọn lắp đặt thêm cho chiếc máy ảnh của bạn, hỗ trợ quay chụp đạt hiệu quả tối ưu nhất.
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ố
SmallRig L-Bracket cho máy ảnh Nikon Z6/ Z6 II/ Z7/ Z7 II - 2258
Đơn giá
1,480,000đ
SmallRig Tay cầm cho ZHIYUN CRANE 2S – 3005
Đơn giá
1,376,000đ
SmallRig Cage cho máy ảnh Nikon Z50- CCN2499
Đơn giá
1,201,000đ
SmallRig Master Kit for Sony Alpha 7S III A7S III A7S3 - 3009
Đơn giá
3,200,000đ
SmallRig Cage cho Fujifilm X-T30 và X-T20 Camera - CCF2356
Đơn giá
1,940,000đ
SmallRig Cage cho Canon 5D Mark III IV - CCC2271
Đơn giá
2,460,000đ
SmallRig Full Camera Cage for Sony A7RIV/ A7IV/ A7SIII/ A1/ A7RIV/ A7RV - 3667B
Vui lòng gọi
SmallRig Handgrip cho DJI RS 2 / RSC 2 / RS 3 / RS 3 Pro - 3028
Vui lòng gọi
SMALLRIG CAGE FOR NIKON Z8
Giá từ:
1,800,000đ
SMALLRIG CAGE FOR NIKON Z6 III - 4519
Đơn giá
2,190,000đ
SmallRig Cage cho Blackmagic Design Pocket Cinema Camera 4K & 6K - 2203
Đơn giá
1,355,000đ
SmallRig Cage cho FUJIFILM X-H2/X-H2S - 3934
Đơn giá
1,850,000đ
SmallRig NATO Ngàm gắn phụ kiện cho DJI RS 2 / RSC 2 / RS 3 / RS 3 Pro – 3025
Đơn giá
393,000đ
SmallRig Bộ tuốc nơ vít gấp - TC2400
Đơn giá
522,000đ
SmallRig Cage cho Nikon Z5/Z6/Z7/Z6II/Z7II Camera – 2926
Đơn giá
1,243,000đ
SmallRig Cage – 2982 được thiết kế dành cho máy ảnh Canon EOS R5 và R6 đảm bảo duy trì quyền truy cập vào máy ảnh, đồng thời mang lại nhiều tùy chọn lắp đặt thêm cho chiếc máy ảnh của bạn, hỗ trợ quay chụp đạt hiệu quả tối ưu nhất.
SmallRig Camera Cage - 2982
Screwdriver
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());
})();