Trang chủ
>
cage >
cage SMALLRIG
SmallRig Cage và Handle Kit cho SONY A7 III và A7R III - KCCS2694
MỚI 100%
Đơn giá:
3,640,000đ
Giảm: 0đ
3,640,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ộ khung SmallRig và tay cầm giúp bảo vệ và cho phép gắn thêm nhiều thiết bị ngoại vi lên chiếc máy ảnh Sony A7III hoặc A7RIII, duy trì khả năng kết nối nhiều thiết bị, nhằm khai thác tối đa hiệu suất hoạt động của camera.
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đ
Bộ khung SmallRig và tay cầm giúp bảo vệ và cho phép gắn thêm nhiều thiết bị ngoại vi lên chiếc máy ảnh Sony A7III hoặc A7RIII, duy trì khả năng kết nối nhiều thiết bị, nhằm khai thác tối đa hiệu suất hoạt động của camera.
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());
})();