logoImg
icon_flasSale
logoImg

Thu cũ
đổi mới

Hotline: 0937.148.222 Mua hàng - Trả góp - Bảo hành
Đăng nhập
Giỏ hàng

    Liên Hệ Với Chúng Tôi

    Hãy đến thăm văn phòng hoặc liên hệ qua các kênh dưới đây

    Hệ Thống Cửa Hàng Máy Ảnh Việt Nam

    Khu vực TP. Hồ CHí Minh: 09 Nam Quốc Cang, Phường Bến Thành, TP Hồ Chí Minh (09:00 – 19:00 mỗi ngày) Chi tiết
    Khu vực TP. Cần Thơ: 151/50A, đường Trần Hoàng Na, Phường Tân An, TP Cần Thơ (08:00 - 20:00 mỗi ngày) Chi tiết
    Khu vực An Giang: số 1 đường số 1,Tây sông Hậu, Phường Long Xuyên, Tỉnh An Giang (08:00 - 17:30 mỗi ngày) Chi tiết
    Khu vực Tiền Giang: Hoàng Sa, Khu phố 4, Phường Thới Sơn, Tỉnh Đồng Tháp (08:00 - 18:00 mỗi ngày) Chi tiết

    Hotline 24/7

    090.721-5252 | 0903.148-222

    Email

    [email protected]

    Facebook

    Bệnh Viện Máy Ảnh Việt Nam

    Máy ảnh

    Ống kính

    Máy cũ giá tốt

    Setup phòng studio

    Action camera

    Flycam

    Thiết bị phòng studio

    Phụ kiện máy ảnh

    Máy quay phim

    logo

    Máy Ảnh Việt Nam là đơn vị tiên phong trong lĩnh vực phân phối và bán lẻ các sản phẩm máy ảnh tại thị trường Việt Nam.

    PHƯƠNG THỨC THANH TOÁN

    • VISA
    • MasterCard
    • JCB
    • ATM
    • Home PayLater
    • MoMo

    Chính sách

    • Chính sách bảo hành
    • Chính sách thanh toán
    • Chính sách đổi trả, Hoàn Tiền
    • Chính sách vận chuyển
    • Chính sách bảo mật thông tin khách hàng
    • Thông tin liên hệ
    • Thu cũ đổi mới

    Thông tin liên hệ

    • Fanpage: Máy Ảnh Việt Nam
    • Hotline: 0907-215-252 | 0937-148-222
    • Email: [email protected]

    Hệ thống cửa hàng

    Khu vực TP.Hồ CHí Minh: 09 Nam Quốc Cang, Phường Bến Thành, TP Hồ Chí Minh (09:00 – 19:00 mỗi ngày)

    Khu vực TP. Cần Thơ: 151/50A, đường Trần Hoàng Na,Phường Tân An, TP Cần Thơ (08:00 - 20:00 mỗi ngày)

    Khu vực An Giang: số 1 đường số 1,Tây sông Hậu, Phường Long Xuyên, Tỉnh An Giang (08:00 - 17:30 mỗi ngày)

    Khu vực Tiền Giang: Hoàng Sa, Khu phố 4, Phường Thới Sơn, Tỉnh Đồng Tháp (08:00 - 18:00 mỗi ngày)

    © 2022 CÔNG TY TNHH DỊCH VỤ TƯ VẤN VÀ CÔNG NGHỆ SÀI GÒN
    • Địa chỉ: Số 09 Nam Quốc Cang, Phường Bến Thành, TP Hồ Chí Minh. Mã số thuế: 0313859872-002.
    • GPĐKKD số: 0313859872-002. Đơn vị cấp : Sở Kế Hoạch và Đầu Tư TP.HCM, cấp ngày 05 tháng 08 năm 2024.
    • GP số: 0313859872-002. Đơn vị cấp : Sở Kế Hoạch và Đầu Tư TP.HCM, cấp ngày 05 tháng 08 năm 2024.
    • Điện thoại: 0903 148 222. Email: [email protected] - Chịu trách nhiệm nội dung: Nguyễn Hồng Chương.

    • Trang chủ
    • Sản phẩm
    • Setup phòng studio
    • Chính sách bảo hành
    • Liên hệ
    Gọi ngay
    Chat Messenger
    Zalo Chat Zalo
    (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()); })();