Trang chủ
>
Đầu đọc >
Đầu đọc KINGMA
Đầu đọc thẻ nhớ Kingma 3.0
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
Đầu đọc thẻ nhớ Kingma 3.0 làm từ nhựa APS có độ bền cao, kích thước nhỏ gọn, trọng lượng chỉ 56g, tốc độ truyền dữ liệu 5.0Gbps, tích hợp 3 khe cắm thẻ với khả năng tương thích nhiều loại thẻ nhớ như CF, SD, TF mang lại sự tiện lợi cho người sử dụng.
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ố
Đầu Đọc Thẻ Nhớ XQD Lexar XR2 - USB 3.0
Đơn giá
1,190,000đ
Đầu đọc thẻ Sony MRW-G1 CFexpress Type B/XQD
HÀNG MỚI ĐÃ TẠM HẾT
ĐẦU ĐỌC XQD TYPE USB
Đơn giá
380,000đ
ĐẦU ĐỌC THẺ NHỚ TYPE C TO SD
Đơn giá
100,000đ
ĐẦU ĐỌC LEXAR CFEXPRESS TYPE A/SD CARD USB-C USB 3.2 GEN 2
Đơn giá
1,250,000đ
ĐẦU ĐỌC THẺ NHỚ XQD ONTEN
HÀNG MỚI ĐÃ TẠM HẾT
ĐẦU CHUYỂN SAMSUNG TYPE C TO USB
Đơn giá
60,000đ
ĐẦU CHUYỂN USB TO TYPE C HOCO UA6
Đơn giá
45,000đ
ĐẦU ĐỌC 3 IN 1 MAGNETIC CAP
Đơn giá
240,000đ
ĐẦU CHUYỂN TYPE C TO USB 3.1
HÀNG MỚI ĐÃ TẠM HẾT
ĐẦU ĐỌC LEXAR CFEXPRESS TYPE B USB-C USB 3.2 GEN 2
Đơn giá
650,000đ
ĐẦU ĐỌC THẺ NHỚ LIGHTNING TO SD
HÀNG MỚI ĐÃ TẠM HẾT
ĐỌC THẺ TRANSCEND USB 3.1
Đơn giá
420,000đ
ĐẦU ĐỌC THẺ ALL-ROUND
HÀNG MỚI ĐÃ TẠM HẾT
ĐẦU ĐỌC THẺ NHỚ SD 3 IN 1 CHO ĐIỆN THOẠI
Đơn giá
240,000đ
Đầu đọc thẻ nhớ Kingma 3.0 làm từ nhựa APS có độ bền cao, kích thước nhỏ gọn, trọng lượng chỉ 56g, tốc độ truyền dữ liệu 5.0Gbps, tích hợp 3 khe cắm thẻ với khả năng tương thích nhiều loại thẻ nhớ như CF, SD, TF mang lại sự tiện lợi cho người sử dụng.
Đầu đọc thẻ nhớ Kingma 3.0 x1
Tags
×
1 / 8
(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());
})();