Máy ảnh Sony ZV-E10 (Black, Body Only) | Chính hãng
Giá từ:
13,900,000đ
KM
Tặng Đầu đọc thẻ tam giác 3 trong 1 (KMKTT) cho ZV-E10 seri từ 13/10/2025-01/02/2026
Và nhiều quà hấp dẫn khác
Máy ảnh Sony Alpha 1 (Body only) | Chính hãng
Giá giao động:
132,535,000đ
Máy Ảnh Sony Alpha 9 Mark III (ILCE-9M3)
Giá giao động:
143,335,000đ
Máy ảnh Sony Alpha ILCE-1M2|A1 Mark II Body
Giá giao động:
153,153,818đ
Máy ảnh Sony ZV-E10 II (Black, Body Only) | Chính hãng
Giá giao động:
26,000,000đ
KM
Tặng Túi rút máy ảnh PGYTECH (KMKTT) cho ZV-E10M2 seri, ILCE-6400 seri từ 13/10/2025-01/02/2026
Và nhiều quà hấp dẫn khác
Máy ảnh Sony Alpha A7C II | Body Only | Black (Chính hãng)
Giá giao động:
46,990,000đ
Máy ảnh Sony Alpha A7 Mark IV (Body Only) | Chính hãng
Giá giao động:
47,490,000đ
Máy Ảnh Sony A9 (ILCE-9) Body
Giá từ:
23,500,000đ
Máy ảnh Sony Alpha A6400M kit 18-135mm - Chính hãng/ ILCE-6400M
Giá giao động:
25,517,000đ
Máy ảnh Sony Alpha ILCE-7CL|A7C Kit FE 28-60mm F4-5.6| CHÍNH HÃNG
Giá giao động:
43,190,000đ
Máy ảnh Sony Alpha A7R III A
Giá giao động:
42,208,000đ
Máy ảnh Sony Alpha A7 Mark IV A7M4 Kit FE 28-70mm F3.5-5.6 OSS (Chính Hãng)
Giá giao động:
58,408,000đ
Máy ảnh Sony Alpha A6600 (Body Only)
Giá giao động:
31,990,000đ
Máy ảnh Sony Alpha A7C (Black, Body Only) | Chính hãng
Giá từ:
21,700,000đ
Máy Ảnh Sony a6700 | Chính Hãng
Giá giao động:
35,335,000đ
Máy ảnh Sony Alpha A7 Mark III (Body Only) | ILCE-7M3
Giá giao động:
36,317,000đ
Máy ảnh Sony Alpha A7CR | Body Only |(Chính hãng)
Giá giao động:
68,717,000đ
Máy ảnh Sony Alpha A7R IV A
Giá giao động:
73,626,000đ
Máy ảnh Sony Alpha A7R Mark IV (Chính Hãng)
Giá từ:
32,500,000đ
Máy ảnh Sony Alpha A9 Mark II | Chính hãng
Giá giao động:
98,172,000đ
Máy ảnh Sony Alpha A7M3K / ILCE - 7M3K
Vui lòng gọi
KM
Tặng thẻ nhớ 64GB
Và nhiều quà hấp dẫn khác
Máy ảnh Sony Alpha ILCE-6400K / A6400 Kit 16-50mm F3.5-5.6 OSS II
Vui lòng gọi
KM
Tặng Túi rút máy ảnh PGYTECH (KMKTT) cho ZV-E10M2 seri, ILCE-6400 seri từ 13/10/2025-01/02/2026
Và nhiều quà hấp dẫn khác
Máy ảnh Sony Alpha A6400 (Black, Body Only) | Chính hãng
Giá từ:
14,500,000đ
KM
Tặng Túi rút máy ảnh PGYTECH (KMKTT) cho ZV-E10M2 seri, ILCE-6400 seri từ 13/10/2025-01/02/2026
Và nhiều quà hấp dẫn khác
Máy Ảnh Sony A6400 + Lens 16-50mm f/3.5-5.6 OSS II (Black) | Chính Hãng
Giá giao động:
23,060,000đ
KM
Tặng Túi rút máy ảnh PGYTECH (KMKTT) cho ZV-E10M2 seri, ILCE-6400 seri từ 13/10/2025-01/02/2026
Và nhiều quà hấp dẫn khác
Máy ảnh Sony Alpha A6400L (Silver) kit 16-50mm - Chính hãng / ILCE-6400L
Giá giao động:
23,060,000đ
KM
Tặng Túi rút máy ảnh PGYTECH (KMKTT) cho ZV-E10M2 seri, ILCE-6400 seri từ 13/10/2025-01/02/2026
Và nhiều quà hấp dẫn khác
Máy ảnh Sony ZV-E10 II + Lens 16-50mm f/3.5-5.6 OSS II Chính hãng
Giá giao động:
28,953,000đ
KM
Tặng Túi rút máy ảnh PGYTECH (KMKTT) cho ZV-E10M2 seri, ILCE-6400 seri từ 13/10/2025-01/02/2026
Và nhiều quà hấp dẫn khác
MÁY ẢNH SONY ALPHA A7R
Vui lòng gọi
Sony Alpha A7CR Body + Sony FE 50mm F1.2 GM
Vui lòng gọi
Máy ảnh mirrorless Sony Alpha NEX-6
Giá từ:
6,500,000đ
Máy Ảnh Sony Alpha a7S
Vui lòng gọi
Máy Ảnh Sony NEX-7
Máy Ảnh Sony A200
Máy ảnh Sony Alpha A6000 (Black, Body Only) | Chính hãng
Máy ảnh Sony Alpha A6100 (White, Body Only) | Chính hãng
Máy ảnh Sony Alpha A6100 (Silver, Body Only) | Chính hãng
Máy ảnh Sony Alpha A6300
Máy ảnh Sony Alpha A6500 (Chính hãng, Body Only)
Máy ảnh Sony Alpha A6500 (Nhập khẩu, Black, Body Only)
MÁY ẢNH SONY ALPHA A7
Máy Ảnh Sony A7 Mark V (A7M5) | Chính Hãng
Máy ảnh Sony Alpha A7 Mark III (Body Only) NHẬP KHẨU
Máy ảnh Sony Cybershot DSC-H300
Máy Ảnh Sony Cybershot DSC-HX350
Sony RX0 II Máy ảnh kỹ thuật số DSC-RX0M2 nhỏ gọn
Máy Ảnh Sony DSC-RX0M2G ( Kèm bộ Báng tay cầm )
Máy ảnh Sony ZV-E10L (kèm ống kính kit 16-50mm)
Máy ảnh Sony ZV-E10 + Lens 16-50mm F3.5-5.6 (Black) | Chính hãng
Máy ảnh Sony ZV-E10 + Lens 16-50mm F3.5-5.6 (White) | Chính hãng
Máy ảnh Sony ZV-1 Mark II Vlog on the go LITE
Máy ảnh Sony Alpha A6400L kit 16-50mm - Chính hãng
Máy ảnh Sony ZV-1 II Vlog On The Go Edition
Máy Ảnh Sony CyberShot DSC-RX100M5
Máy ảnh Sony Alpha A7 Mark II (Body Only) | Chính hãng
Máy ảnh Sony ZV-E10 II (White, Body Only) | Chính hãng
Máy ảnh Sony DSC-RX100M7
Máy ảnh Sony ZV-E10 Mark II Kit 16-50mm F3.5-5.6 OSS II Trắng
Máy ảnh Sony RX100 Mark VII Retro Kit | Chính hãng
Máy ảnh Sony Alpha A7C (Silver, Body Only) | Chính hãng
Máy ảnh Sony DSC- RX10M4/ RX10 IV - Chính hãng
Máy ảnh Sony Alpha A7R Mark II Body | Chính hãng
MÁY ẢNH SONY RX100 MARK VI
Máy ảnh Sony Alpha A7S Mark II Body | Chính hãng
Máy ảnh Sony Alpha A7R Mark III (Chính Hãng)
Máy ảnh Sony Alpha A6700 kit 18-135mm | ILCE-6700M - Chính hãng
Máy ảnh Sony Alpha ILCE-7M3K|A7M3 Kit FE 28-70mm F3.5-5.6 OSS
Máy Quay Phim Sony FX30 (ILME-FX30B)
Máy ảnh Sony Alpha A7C II | Body Only | Silver (Chính hãng)
Máy ảnh Sony ZV-E1 (Body Only) | Chính Hãng
MÁY ẢNH SONY ALPHA A7S MARK III | ILCE-7SM3
Máy ảnh Sony RX1R II
MÁY ẢNH SONY ALPHA A7R MARK V (Chính hãng)
Máy Ảnh Sony Alpha A7 Mark IV Body + Sony FE 24-70mm F2.8 GM II
MÁY ẢNH SONY FX-3 (CHÍNH HÃNG)
Máy ảnh Sony Alpha A7R Mark V Body + Ống kính Sony FE 35mm F1.4 GM
MÁY ẢNH SONY DSC-WX800
MÁY ẢNH SONY ALPHA NEX-5
Máy Ảnh Sony Alpha A5000
Máy ảnh Sony Alpha A6100 (Black, Body Only) | Chính hãng
Máy ảnh Sony Alpha a5100 (Body Only) | Chính hãng
Máy Ảnh Sony Alpha NEX-5R
Máy Ảnh Sony Alpha NEX-5N
Máy ảnh Sony Alpha A6000 (Silver, Body Only) | Chính hãng
Máy ảnh Sony Alpha A6000 (Graphite, Body Only) | Chính hãng
(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());
})();