Khoảng giá
Từ: 0 triệu
Đến: Không giới hạn
Máy ảnh Sony Alpha 1 (Body only) Chính hãng
Giá giao động:
134,990,000đ
Máy Ảnh Sony Alpha 9 Mark III (ILCE-9M3)
Giá giao động:
145,990,000đ
Máy ảnh Sony Alpha ILCE-1M2|A1 Mark II Body
Giá giao động:
155,990,000đ
Máy ảnh Sony ZV-E10 II (Black, Body Only) | Chính hãng
Giá giao động:
24,000,000đ
Máy ảnh Sony Alpha A7C II | Body Only | Black (Chính hãng)
Máy ảnh Sony Alpha A7 Mark IV (Body Only) | Chính hãng
Giá giao động:
47,700,000đ
MÁY ẢNH SONY ALPHA A9
Vui lòng gọi
Máy ảnh Sony ZV-E10 (Body Only) CHÍNH HÃNG
Giá giao động:
14,990,000đ
Máy ảnh Sony Alpha A6400M kit 18-135mm - Chính hãng/ ILCE-6400M
Máy ảnh Sony Alpha ILCE-7CL|A7C Kit FE 28-60mm F4-5.6| CHÍNH HÃNG
Giá giao động:
43,990,000đ
Máy ảnh Sony Alpha A7R III A
Giá giao động:
42,990,000đ
MÁY ẢNH SONY ALPHA A7R MARK V (Chính hãng)
Giá giao động:
84,990,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:
59,990,000đ
Máy ảnh Sony Alpha A6600 (Body Only)
Giá giao động:
31,990,000đ
Máy ảnh Sony ZV-1 (Black) | Nhập Khẩu
Giá từ:
14,500,000đ
Máy ảnh Sony ZV-1 (Black) | Chính hãng
Giá giao động:
15,990,000đ
Máy ảnh Sony Alpha A7C ( Body Only) | Chính hãng
Máy ảnh Sony A6700 ( body only) Chính Hãng
Giá giao động:
35,990,000đ
Máy ảnh Sony Alpha A7 Mark III (Body Only)
Máy ảnh Sony Alpha A7CR | Body Only |(Chính hãng)
Giá giao động:
69,990,000đ
Máy ảnh Sony Alpha A7R Mark IV (Chính Hãng)
Giá giao động:
74,990,000đ
Máy ảnh Sony Alpha A7R IV A
Giá giao động:
74,990,000đ
Máy ảnh Sony Alpha A9 Mark II | Chính hãng
Giá giao động:
99,990,000đ
Máy ảnh Sony Alpha A6000 (Black, Body Only) | Chính hãng
Vui lòng gọi
Máy ảnh Sony Alpha A6300
Vui lòng gọi
Máy ảnh Sony Alpha A6500 (Chính hãng, Body Only)
Vui lòng gọi
Máy ảnh Sony Alpha A6500 (Nhập khẩu, Black, Body Only)
Vui lòng gọi
Máy ảnh Sony ZV-1F Vlogger Accessory Kit (White) | Chính Hãng
Vui lòng gọi
Máy ảnh Sony Alpha A6100 (White, Body Only) | Chính hãng
Vui lòng gọi
Máy ảnh Sony Alpha A6100 (Silver, Body Only) | Chính hãng
Vui lòng gọi
MÁY ẢNH SONY ALPHA A7
MÁY ẢNH SONY ALPHA A7R
Máy Ảnh Sony A7 Mark V
Máy Ảnh Sony Alpha a7S
Máy Ảnh Sony NEX-7
Máy ảnh Sony A900
Máy Ảnh Sony A200
Máy Ảnh Sony A300
Máy Ảnh Sony A350
Máy Ảnh Sony A230
Máy Ảnh Sony A330
Máy ảnh Sony Alpha A7 Mark III (Body Only) NHẬP KHẨU
Máy ảnh Sony DSC-W830
Máy ảnh Sony Cybershot DSC-H300
Máy Ảnh Sony Cybershot DSC-HX350
Máy ảnh Sony Cyber-shot DSC-HX99 (Chính hãng)
Máy ảnh Sony ZV-1F (Black) | Chính Hãng
Máy ảnh Sony ZV-1F (White) | Chính Hãng
MÁY ẢNH SONY ZV-E10 + ỐNG KÍNH SONY E PZ 16-50mm F3.5-5.6 OSS | Chính Hãng
Máy Ảnh Sony RX100M3 (DSC-RX100M3)
Sony RX0 II Máy ảnh kỹ thuật số DSC-RX0M2 nhỏ gọn
Máy ảnh Sony Alpha A6400 (Black, Body Only) | Chính hãng
Máy Ảnh Sony DSC-RX0M2G ( Kèm bộ Báng tay cầm )
Máy ảnh Sony ZV-1 II (Black) | Chính Hãng
Bộ máy ảnh Sony ZV-1 Storytelling Kit (White) | Chính Hãng
Bộ máy ảnh Sony ZV-1 Storytelling Kit (Black) | Chính Hãng
Máy ảnh Sony ZV-1 II Vlog On The Go Edition
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 CyberShot DSC-RX100M5
Máy ảnh Sony Alpha A7 Mark II (Body Only) | Chính hãng
Máy ảnh Sony Cyber-shot DSC-RX100 Mark VII | Chính hãng
Máy ảnh Sony DSC-RX100M7
Máy ảnh Sony ZV-E10 II + Lens 16-50mm f/3.5-5.6 OSS II 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 A7C II | Body Only | Silver (Chính hãng)
Máy ảnh Sony Alpha A6700 kit 18-135mm | ILCE-6700M - Chính hãng
Máy Quay Phim Sony FX30 (ILME-FX30B)
Máy ảnh Sony Alpha ILCE-7M3K|A7M3 Kit FE 28-70mm F3.5-5.6 OSS
Máy ảnh Sony ZV-E1 (Body Only) | Chính Hãng
MÁY ẢNH SONY ALPHA A7S MARK III
Máy ảnh Sony RX1R II
Máy ảnh Sony Alpha A7S III | 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 DSC-WX800
MÁY ẢNH SONY ALPHA NEX-5
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 A5000
Máy ảnh Sony Alpha A6100 (Black, Body Only) | Chính hãng
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
Máy Ảnh Sony DSC-W810
Máy ảnh Sony Cyber-shot DSC-WX350
(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());
})();