Trang chủ
>
Thẻ nhớ CFexpress A >
Thẻ nhớ CFexpress A SONY
Thẻ nhớ CFexpress Type A dòng CEA-G 160GB
MỚI 100%
Đơn giá:
9,490,000đ
Giảm: 0đ
9,490,000đ
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
Cho phép chụp ảnh liên tiếp, quay video mượt mà Dung lượng bộ nhớ lớn 80GB/160 GB Thiết kế bền bỉ, tiêu chuẩn IP57 kháng nước và bụi bẩn Thiết kế nhỏ gọn với kích thước 20x28x2,8mm (RxCxD)
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ố
Thẻ nhớ SDXC SanDisk Extreme Pro U3 V30 64GB 200MB/s
Đơn giá
350,000đ
Thẻ Nhớ MicroSDXC SanDisk Extreme Pro 128GB 200MB/s V30 A2
Đơn giá
490,000đ
Thẻ nhớ MicroSD 64GB Sandisk Extreme Pro 200 MB/s
Đơn giá
290,000đ
Thẻ nhớ MicroSDXC Sandisk Extreme Pro 64gb 170mb/s
Đơn giá
230,000đ
Thẻ nhớ MicroSDHC Sandisk Extreme 32GB 100MB/s
Đơn giá
170,000đ
Thẻ nhớ SDHC Sony 32GB 94MB/s
HÀNG MỚI ĐÃ TẠM HẾT
Thẻ nhớ SDHC SanDisk Extreme 32GB 90MB/s
HÀNG MỚI ĐÃ TẠM HẾT
Thẻ nhớ SDHC Sony 32GB 90MB/s
HÀNG MỚI ĐÃ TẠM HẾT
Thẻ nhớ SDHC SanDisk Ultra 32GB 120MB/s
Đơn giá
170,000đ
Thẻ nhớ Sony CFexpress Type A 80GB 800MB/s (CEA-G80T)
Đơn giá
5,490,000đ
Thẻ nhớ SDXC Sony 64GB 260MB/s (KM)
Đơn giá
1,539,000đ
Thẻ nhớ SDXC Sony 64GB SF-G Series UHS-II R (Khuyến mại)
Đơn giá
2,980,000đ
Thẻ nhớ Sony XQD 64GB Series G
Giá giao động:
2,950,000đ
Thẻ nhớ SDXC Sony 64GB 94Mb/s
HÀNG MỚI ĐÃ TẠM HẾT
Thẻ nhớ SDXC Sony SF-M64/T2 SYM 64gb 277Mb/s
Đơn giá
1,480,000đ
Cho phép chụp ảnh liên tiếp, quay video mượt mà Dung lượng bộ nhớ lớn 80GB/160 GB Thiết kế bền bỉ, tiêu chuẩn IP57 kháng nước và bụi bẩn Thiết kế nhỏ gọn với kích thước 20x28x2,8mm (RxCxD)
Tags
×
1 / 6
(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());
})();