検索
ホームページウェブフロントエンドH5 チュートリアルHTML5 Canvasをベースに地下鉄駅監視を実現

国内経済の急速な発展に伴い、人々の安全に対する要求はますます高まっています。次のような事態が起こらないようにするために、セキュリティ システムの導入を検討する必要があります。 証拠と手がかりの提供: 多くの工場、銀行、盗難、事故では、関係機関がビデオ情報に基づいて事件を検出できます。これは非常に重要です。手がかり。この記事では、HTML5 Canvas に基づいた地下鉄駅監視の実装について説明します。

この例の動的効果は次のとおりです:
HTML5 Canvasをベースに地下鉄駅監視を実現

まず基本的なシーンを構築しましょう。HT では、外部シーンを内部にインポートする非常に一般的な方法は、JSON ファイルを解析し、JSON ファイルを使用して構築します。シーンの利点の 1 つは、リサイクルできることです。今日のシーンは JSON を使用して描画されました。次に、HT は ht.Default.xhrLoad 関数を使用して JSON シーンをロードし、HT でカプセル化された DataModel.deserialize(json) を使用してそれを逆シリアル化し、逆シリアル化されたオブジェクトを DataModel に追加します。 type オブジェクトが構築されると、内部で id 属性が自動的に割り当てられます。この属性は、Data オブジェクトが DataModel に追加された後、data.getId() および data.setId(id) を通じて取得および設定できます。変更は許可されていません。dataModel.getDataById(id) を通じて取得できます。 Data オブジェクトをすばやく検索します。通常、ID 属性は HT によって自動的に割り当てられることが推奨されます。Data#setTag(tag) 関数を使用すると、対応するデータを動的に変更できます。オブジェクトは DataModel#getDataByTag(tag) を通じて見つけることができ、 DataModel#removeDataByTag(tag) を通じてデータ オブジェクトの削除をサポートします。ここでは、JSON で Data オブジェクトのタグ属性を設定し、コード内の dataModel.getDataByTag(tag) 関数を通じて Data オブジェクトを取得します。

ht.Default.xhrLoad('demo2.json', function(text) {
    var json = ht.Default.parse(text);
    if(json.title) document.title = json.title;//将 JSON 文件中的 titile 赋给全局变量 titile 
    dataModel.deserialize(json);//反序列化
    graphView.fitContent(true);//缩放平移拓扑以展示所有图元,即让所有的元素都显示出来
});

以下の図の各タグに対応する要素を作成しました。


HTML5 Canvasをベースに地下鉄駅監視を実現次に、回転してフラッシュする必要があるオブジェクトを設定します。HT は setRotation(rotation) 関数を使用して「回転」をカプセル化し、オブジェクトの現在の回転角度を取得し、この角度に基づいて特定のラジアンを追加します。 setInterval 一定の時間間隔内で同じ円弧を回転できるように定期的に呼び出されます。

var fan1 = dataModel.getDataByTag('fan1');
var fan2 = dataModel.getDataByTag('fan2');
var camera1 = dataModel.getDataByTag('camera1');
var camera2 = dataModel.getDataByTag('camera2');
var camera3 = dataModel.getDataByTag('camera3');
var redAlarm = dataModel.getDataByTag('redAlarm');
var yellowAlarm = dataModel.getDataByTag('yellowAlarm');

HT は、スタイルを設定するための setStyle 関数もカプセル化します。これは s と省略できます。特定のスタイルについては、Web 用の HT を参照してください。スタイルマニュアル:

setInterval(function(){
    var time = new Date().getTime();
    var deltaTime = time - lastTime;
    var deltaRotation = deltaTime * Math.PI / 180 * 0.1;
    lastTime = time;

    fan1.setRotation(fan1.getRotation() + deltaRotation*3);
    fan2.setRotation(fan2.getRotation() + deltaRotation*3);
    camera1.setRotation(camera1.getRotation() + deltaRotation/3);
    camera2.setRotation(camera2.getRotation() + deltaRotation/3);
    camera3.setRotation(camera3.getRotation() + deltaRotation/3);

    if (time - stairTime > 500) {
        stairIndex--;
        if (stairIndex <p>us 「警告灯」の点滅も、偶数秒の場合は、ライトの背景色が「無色」に設定されます。それ以外の場合は、黄色アラームになります。 redAlarm の場合は、「黄色」に設定されます。「赤」の場合: </p><pre class="brush:php;toolbar:false">for (var i = 0; i <p> 例全体は非常に簡単に解決されました。 。 。 </p><p>さらに詳しく知りたい人は、HT for Web の公式 Web サイトにアクセスして、さまざまなマニュアルを参照して学ぶことができます。 </p><p></p><p class="article fmt article__content"><br>国内経済の急速な発展に伴い、人々の安全に対する要求はますます高まっています。次のような事態が起こらないようにするために、セキュリティ システムの導入を検討する必要があります。 証拠と手がかりの提供: 多くの工場、銀行、盗難、事故では、関係機関がビデオ情報に基づいて事件を検出できます。これは非常に重要です。手がかり。紛争や事故も発生しており、ビデオ録画により関係者の責任が容易に判明します。 民間防空のコストが高い:現在、多くの場所で安全を考えるとき、警備員1人あたり月800ドルの費用がかかり、1日3交代の人員は年間4万元近くかかります。電子セキュリティ機器のコストは決して安くはなく、数年以内に電子セキュリティ機器を交換する必要性は低くなります。したがって、民間防空のコストは比較的高くなります。民間防空支援: 多くの場合、安全を確保するために人だけに頼ることは非常に困難であり、より完璧にするためには電子セキュリティ機器 (モニターや警報器など) の支援が必要です。特別な場合に使用する必要があります。過酷な条件下(高温、低温、密閉など)、肉眼ではっきりと観察することが難しい、または単に人が滞在するのに適さない環境であるため、電子セキュリティ装置を使用する必要があります。隠蔽:電子セキュリティ機器を使用すると、一般の人は自分たちが常に監視されているとは感じなくなり、隠蔽されます。 24 時間のセキュリティ保証: 24 時間中断のないセキュリティのニーズを実現するには、電子機器を考慮する必要があります。遠隔監視:コンピュータ技術とネットワーク技術の発展により、多くの企業のリーダーがインターネットを介して、世界中の支店の状況を遠隔から監視したり、映像を視聴したりできるようになりました。タイムリーな状況把握に役立ちます。画像の保存: デジタル ビデオ技術の発展により、画像をコンピュータのデジタル ストレージ デバイスに保存できるようになり、より鮮明な画像で長期間保存できるようになります。生産管理:管理者は生産現場の状況をタイムリーかつ直感的に把握でき、指揮・管理が容易になります。 </p><p>中国では監視システムの需要が大きいため、地下鉄の駅などの大規模な監視では、事故を防ぐための監視システムが必要です。今日は地下鉄のフロントエンド部分の作成方法を紹介します。駅監視システム。 </p><p>http://www.hightopo.com/demo/... ページを右クリックし、[要素の検査] をクリックしてサンプル ソース コードを表示します。 </p><p>この例の動的効果は次のとおりです: <br><span class="img-wrap"><img  src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/054/025/5fc3eeb4925b461819c15a4b4491d02e-0.gif?x-oss-process=image/resize,p_40" class="lazy" alt="HTML5 Canvasをベースに地下鉄駅監視を実現" ></span></p><p> まず基本的なシーンを構築しましょう。HT では、外部シーンを内部にインポートする非常に一般的な方法は、JSON ファイルを解析し、JSON ファイルを使用して構築します。シーンの利点の 1 つは、リサイクルできることです。今日のシーンは JSON を使用して描画されました。次に、HT は ht.Default.xhrLoad 関数を使用して JSON シーンをロードし、HT でカプセル化された DataModel.deserialize(json) を使用してそれを逆シリアル化し、逆シリアル化されたオブジェクトを DataModel に追加します。 type オブジェクトが構築されると、内部で id 属性が自動的に割り当てられます。この属性は、Data オブジェクトが DataModel に追加された後、data.getId() および data.setId(id) を通じて取得および設定できます。変更は許可されていません。dataModel.getDataById(id) を通じて取得できます。 Data オブジェクトをすばやく検索します。通常、ID 属性は HT によって自動的に割り当てられることが推奨されます。Data#setTag(tag) 関数を使用すると、対応するデータを動的に変更できます。オブジェクトは DataModel#getDataByTag(tag) を通じて見つけることができ、 DataModel#removeDataByTag(tag) を通じてデータ オブジェクトの削除をサポートします。ここでは、JSON で Data オブジェクトのタグ属性を設定し、コード内の dataModel.getDataByTag(tag) 関数を通じて Data オブジェクトを取得します。 </p><pre class="brush:php;toolbar:false">ht.Default.xhrLoad('demo2.json', function(text) {
    var json = ht.Default.parse(text);
    if(json.title) document.title = json.title;//将 JSON 文件中的 titile 赋给全局变量 titile 
    dataModel.deserialize(json);//反序列化
    graphView.fitContent(true);//缩放平移拓扑以展示所有图元,即让所有的元素都显示出来
});

以下の図の各タグに対応する要素を作成しました。


HTML5 Canvasをベースに地下鉄駅監視を実現次に、回転してフラッシュする必要があるオブジェクトを設定します。HT は setRotation(rotation) 関数を使用して「回転」をカプセル化し、オブジェクトの現在の回転角度を取得し、この角度に基づいて特定のラジアンを追加します。 setInterval 一定の時間間隔内で同じ円弧を回転できるように定期的に呼び出されます。

var fan1 = dataModel.getDataByTag('fan1');
var fan2 = dataModel.getDataByTag('fan2');
var camera1 = dataModel.getDataByTag('camera1');
var camera2 = dataModel.getDataByTag('camera2');
var camera3 = dataModel.getDataByTag('camera3');
var redAlarm = dataModel.getDataByTag('redAlarm');
var yellowAlarm = dataModel.getDataByTag('yellowAlarm');

HT は、スタイルを設定するための setStyle 関数もカプセル化します。これは s と省略できます。特定のスタイルについては、Web 用の HT を参照してください。スタイルマニュアル:

setInterval(function(){
    var time = new Date().getTime();
    var deltaTime = time - lastTime;
    var deltaRotation = deltaTime * Math.PI / 180 * 0.1;
    lastTime = time;

    fan1.setRotation(fan1.getRotation() + deltaRotation*3);
    fan2.setRotation(fan2.getRotation() + deltaRotation*3);
    camera1.setRotation(camera1.getRotation() + deltaRotation/3);
    camera2.setRotation(camera2.getRotation() + deltaRotation/3);
    camera3.setRotation(camera3.getRotation() + deltaRotation/3);

    if (time - stairTime > 500) {
        stairIndex--;
        if (stairIndex <p>us 「警告灯」の点滅も、偶数秒の場合は、ライトの背景色が「無色」に設定されます。それ以外の場合は、黄色アラームになります。 redAlarm の場合は "red" に設定されます。 </p><pre class="brush:php;toolbar:false">for (var i = 0; i <p> 以上の内容は、HTML5 Canvas をベースに地下鉄の駅監視を実装する方法です。 </p><p>関連する推奨事項: </p><p></p>自動監視と同期のための mysql スクリプト<p><a href="http://www.php.cn/mysql-tutorials-381688.html" target="_self"></a></p>監視スクリプトの推奨チュートリアル 10 例<p><a href="http://www.php.cn/mysql-tutorials-366837.html" target="_self"></a></p>サーバー監視に関する推奨記事 10 件<p><a href="http://www.php.cn/mysql-tutorials-366597.html" target="_self"></a></p>

以上がHTML5 Canvasをベースに地下鉄駅監視を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Vue和Canvas:如何实现手写签名和手势识别功能Vue和Canvas:如何实现手写签名和手势识别功能Jul 18, 2023 am 08:49 AM

Vue和Canvas:如何实现手写签名和手势识别功能引言:手写签名和手势识别功能在现代应用程序中越来越常见,它们可以为用户提供更加直观和自然的交互方式。Vue.js作为一款流行的前端框架,搭配Canvas元素可以实现这两个功能。本文将介绍如何使用Vue.js和Canvas元素来实现手写签名和手势识别功能,并给出相应的代码示例。一、手写签名功能实现要实现手写签

Canvas的优势有哪些Canvas的优势有哪些Aug 17, 2023 pm 04:52 PM

canvas的优势有强大的绘图功能、高性能、跨平台兼容性、支持多种图形格式、可以与其他Web技术集成、可以实现动态效果和可以实现复杂的图像处理。详细介绍:1、Canvas提供了丰富的绘图功能,可以绘制各种形状、线条、文本、图像等;2、Canvas在浏览器中直接操作像素,因此具有很高的性能;3、Canvas是基于HTML5标准的一部分,可以在各种现代浏览器上运行等等。

如何利用Vue和Canvas创建逼真的天气动态背景如何利用Vue和Canvas创建逼真的天气动态背景Jul 17, 2023 am 08:33 AM

如何利用Vue和Canvas创建逼真的天气动态背景引言:在现代网页设计中,动态背景效果是吸引用户眼球的重要元素之一。本文将介绍如何利用Vue和Canvas技术来创建一个逼真的天气动态背景效果。通过代码示例,你将学习如何编写Vue组件和利用Canvas绘制不同天气场景,从而实现一个独特而吸引人的背景效果。步骤一:创建Vue项目首先,我们需要创建一个Vue项目。

canvas特效有哪些canvas特效有哪些Aug 18, 2023 pm 04:12 PM

canvas特效有粒子效果、线条动画、图片处理、文字动画、音频可视化、3D效果、游戏开发等。详细介绍:1、粒子效果,通过控制粒子的位置、速度和颜色等属性来实现各种效果,如烟花、雨滴、星空等;2、线条动画,通过在画布上绘制连续的线条,创建出各种动态的线条效果;3、图片处理,通过对图片进行处理,可以实现各种炫酷的效果,如图片切换、图片特效等;4、文字动画等等特性。

canvas插件有哪些canvas插件有哪些Aug 17, 2023 pm 05:00 PM

canvas插件有Fabric.js、EaselJS、Konva.js、Three.js、Paper.js、Chart.js和Phaser。详细介绍:1、Fabric.js 是一个基于Canvas的开源 JavaScript 库,它提供了一些强大的功能;2、EaselJS是CreateJS库中的一个模块,它提供了一套简化了Canvas编程的API;3、Konva.js等等。

Vue和Canvas:如何实现视频播放器的定制化界面Vue和Canvas:如何实现视频播放器的定制化界面Jul 18, 2023 pm 02:49 PM

Vue和Canvas:如何实现视频播放器的定制化界面引言:在现代互联网时代,视频已经成为人们生活中必不可少的一部分。为了提供良好的用户体验,许多网站和应用程序都提供了自定义的视频播放器界面。本文将介绍如何使用Vue和Canvas技术实现一个定制化的视频播放器界面。一、前期准备在开始之前,您需要确保您已经安装了Vue和Canvas,并且熟悉这两种技术的基本用法

Vue和Canvas:如何实现图片的马赛克效果Vue和Canvas:如何实现图片的马赛克效果Jul 16, 2023 pm 10:17 PM

Vue和Canvas:如何实现图片的马赛克效果引言:随着Web技术的不断发展,越来越多的人开始使用Vue框架来构建交互式的前端应用。而在前端开发中,常常需要为用户提供图片处理的功能。本文将介绍如何利用Vue和Canvas实现图片的马赛克效果,为用户带来更好的视觉体验。一、马赛克效果概述马赛克效果是一种将图像的细节部分进行像素化处理,使得整个图像变得模糊和抽象

如何使用Vue和Canvas开发网页截图工具如何使用Vue和Canvas开发网页截图工具Jul 19, 2023 am 08:36 AM

如何使用Vue和Canvas开发网页截图工具简介:随着互联网的发展,网页截图工具在我们的日常生活中扮演着越来越重要的角色。它们可以用来捕捉网页上的信息、制作教程或者分享你的见解。本文将介绍如何使用Vue和Canvas来开发一个简单的网页截图工具,以帮助读者了解如何实现这个常见但又有趣的功能。准备工作:在开始之前,我们需要准备好以下的开发环境和工具:安装Nod

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。