Trang chủ
>
Phụ kiện khác >
Phụ kiện khác INSTA360
Webcam Insta360 Link
MỚI 100%
Hotline đặt hàng:
0903.148-222
(08:00-20:00)
KHUYẾN MÃI ÁP DỤNG TỪ
đến
Thông số nổi bật
Insta360 Link - Sản phẩm mới nhất của nhà Insta360 và là sản phẩm đầu tiên thuộc dòng webcam. Thiết bị được trang bị cho con chip cảm biến ½ inch, cho chất lượng video tối đa lên đến 4K cùng nhiều chế độ ghi webcam chuyên biệt, cực kỳ phù hợp đối với người làm việc trong lĩnh vực giáo dục, streamer, người thuyết trình,...
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ố
Webcam Insta360 Link + Tripod Kit | Chính Hãng
Vui lòng gọi
Peak Design PL-S-2 - Standard Plate
Đơn giá
1,890,000đ
Peak Design Capture Camera Clip V3 (Silver) | Nhập khẩu
HÀNG MỚI ĐÃ TẠM HẾT
PGYTECH Protective Wrap (Geometry)
Đơn giá
420,000đ
PGYTECH Protective Wrap (Ethnic)
Đơn giá
420,000đ
PGYTECH Protective Wrap (Artist)
Đơn giá
420,000đ
PGYTECH Protective Wrap (Geek)
Đơn giá
420,000đ
PGYTECH Rain Cover 25L
Đơn giá
480,000đ
PGYTECH Mantis RC M1
Đơn giá
490,000đ
Ổ cắm điện ELPA ESU-VNI43 (4 ổ điện, 5 công tắc, 3m, 2xUSB)
Đơn giá
389,000đ
Ổ cắm điện ELPA ESU-VNC53 (5 ổ điện, 1 công tắc, 3m, 2xUSB)
Đơn giá
389,000đ
Ống kính 7Artisans Mobile Wide-Angle (Black) | Chính Hãng
Vui lòng gọi
Ống kính 7Artisans Mobile Fisheye (Black) | Chính Hãng
Vui lòng gọi
Phụ kiện 7Artisans Filter Holder for 12mm f/2.8 Lens
Vui lòng gọi
Phụ kiện 7Artisans Lens Focus Ring
Vui lòng gọi
Insta360 Link - Sản phẩm mới nhất của nhà Insta360 và là sản phẩm đầu tiên thuộc dòng webcam. Thiết bị được trang bị cho con chip cảm biến ½ inch, cho chất lượng video tối đa lên đến 4K cùng nhiều chế độ ghi webcam chuyên biệt, cực kỳ phù hợp đối với người làm việc trong lĩnh vực giáo dục, streamer, người thuyết trình,...
Insta360 Link UHD 4K AI Webcam
Insta360 Recognition Markers for Link AI Webcam (4-Pack)
Insta360 USB Type-C Cable for Link AI Webcam
Tags
×
1 / 18
(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());
})();