ゲームエンジンや3Dソフトウェアを利用して高度な表現ができるこの時代でも、プリミティブな描画や動き、アルゴリズムから学べることは多い。それらをJavaScriptで書くクリエイティブコーディングという形で学べる手引書が本書となる。
ゲームエンジンや3Dソフトウェアを利用して高度な表現ができるこの時代でも、プリミティブな描画や動き、アルゴリズムから学べることは多い。それらをJavaScriptで書くクリエイティブコーディングという形で学べる手引書が本書となる。
Zdog Round, flat, designer-friendly pseudo-3D engine for canvas & SVG What is Zdog? Zdog is a 3D JavaScript engine for <canvas> and SVG. With Zdog, you can design and render simple 3D models on the Web. Zdog is a pseudo-3D engine. Its geometries exist in 3D space, but are rendered as flat shapes. This makes Zdog special. Zdog is small. 2,100 lines of code for the entire library. 28KB minified. Zdo
OffscreenCanvas(オフスクリーンキャンバス)はWeb Workers(ウェブワーカー)を使用してWorkerスレッドで描画処理を行える機能です。負荷の高い描画処理をWorkerスレッドに移動することで、メインスレッドの負担が軽くなり、余裕ができます。これによりメインスレッドでスムーズなユーザー操作を実現できるようになり、ユーザー体験の向上が期待できます。本記事ではOffscreenCanvasについて機能と使い方を解説します。 ▲ OffscreenCanvasを使用したデモ。OffscreenCanvasを使用すると、Canvasへの描画負荷が高い場合でもスムーズなユーザー操作とCSSアニメーションの再生を実現できる JavaScriptでマルチスレッドに処理を実行できるWeb Workers OffscreenCanvasの説明の前に、まずはWeb Workersについて
HTML Canvas要素とJavaScriptを使うと、手軽にクリエイティブコーディングをはじめられます。 先月7月25日に開催されたイベント「Frontend de KANPAI! #4」では、プログラミングアートの楽しさを紹介すべく「JavaScriptとWebGLで取り組むクリエイティブコーディング」と題して発表しました。本記事ではそのときの登壇内容を記事として紹介します。 本記事ではHTML CanvasとJavaScriptの理解につながることを目標に、次のモーショングラフィックの作成方法をステップ形式で解説します。サンプルのソースコードはすべてGitHubにて公開していますので、あわせて参照ください。 ▲ 完成版サンプル。実装する上で重要な表現のエッセンスだけを絞って解説します サンプルを別ウインドウで開く コードを確認する ステップ① 描画のためのcanvasを用意 サンプ
お昼休みももう終わりですが、皆さんいかがお過ごしでしょうか? 群馬県南牧村エヴァンジェリスト、日本ロマンチスト協会宣教師、BenQアンバサダー【NEW!】の秋山です。 ちまたで話題となっている「コインハイブ(Coinhive)」の各県警による摘発ですが、事件の詳細や何が問題なのかについては、当事者や識者のブログに譲るとして、インターネット黎明期からWEB技術やネットメディアの運営やマネタイズに長く関わり、今もその業界でそれを糧として生きている人間として、これは大きな問題であり、もっと議論を尽くすべきと考えています。 ■モロさん@doorts:仮想通貨マイニング(Coinhive)で家宅捜索を受けた話 https://doocts.com/3403 ■高木浩光@自宅の日記:懸念されていた濫用がついに始まった刑法19章の2「不正指令電磁的記録に関する罪」 http://takagi-hirom
ブラウザで写真が撮れたらなぁという場面に出くわしたので、APIを確認したところ、navigator.getUserMedia()は非推奨で、今度からはnavigator.mediaDevices.getUserMedia()を使うようにとのこと 音声、画像をキャプチャするMedia Capture and Streams APIでスナップショットを撮ってみました。 ソースコード ガワの準備 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>MediaDevices.getUserMedia()</title> </head> <body> <button onclick="startVideo()">ビデオ開始!</button> <button onclick="stopVideo()">ビデオ終了!</button>
「p5.js」というJavaScriptライブラリが最近気になっていたので、勉強も兼ねてちょっと遊んでみました。 そもそも「canvas」を利用した描画処理を簡単にプログラミングできるのが「p5.js」の特徴ですが、機能を拡張するライブラリがとても優秀で、ゲーム、音楽、Webアプリ、IoT…など、幅広いジャンルの開発ができるところに魅力を感じています。 そこで今回は、ゲーム用の拡張ライブリ「p5.play」を使って、シンプルな「ブロック崩し」を作ってみたいと思います! 用意するもの! ゲームを作るのに必要なファイルは、「HTMLファイル」と「JavaScriptファイル」です。 HTMLファイルは、単純に「p5.js」関連のファイルを読み込んで、今回作る「ブロック崩し」のゲームファイル「app.js」を明記するだけでOK。 <!-- index.html --> <!doctype htm
このサイトはHTML5 Canvasのフレームワーク「CreateJS」の入門サイトです。初学者から学べるように基本的なCreateJSの使い方から解説しつつ、発展的な内容までまとめています。このサイトを通して、webでのインタラクションデザインについて学んでいきましょう。 導入編 webのリッチコンテンツを作るためのフレームワーク「CreateJS」。どのような場面で利用されるのか、どういった表現が可能なのかという点を中心に、概要と導入方法を説明します。 CreateJS とは CraeteJS の事例 簡単なサンプルを試そう ブラウザの開発ツールの使い方を抑えよう CDNのURL 次のコードをHTMLファイルに記述することでCreateJSが利用可能になります。 <script src="https://code.createjs.com/1.0.0/createjs.min.js">
gretro - JavaScript graphic library for retro CG (2014.08.14) お試しページを作りました 最近、昭和っぽい気持ちのCGを描きたい感じで20年くらい前の本を参考にしながら 円 とか 線 とか描いて遊んでいたのだけど、古い本を参考したら昭和っぽい絵が描けるというわけではなくて、Canvas に描くとどうしてもモダンな感じになってしまうという問題があった。 昔は4096色中の16色しか使えないとか座標は整数のみとか色々制約があって、それでも絵を描くためにタイルパターン(2色を交互に並べたりして中間の色を出す)とか駆使していたのだけど、今の Canvas だと16777216色、透明あり、小数の座標、アンチエイリアスも利くとか表現力が格段に高くてちょっと描いただけですぐモダンな感じになってしまう。大は小を兼ねるとか言ってもちろん Canv
はじめに HTML5において追加されたCanvasは、HTMLとJavaScriptを用いてWebページ内に図形や線などを描画できる機能で、動画や音楽を再生するvideoタグやaudioタグなどとともに、HTML5の代表的な機能としてしばしば紹介されます。 Canvas機能を用いるとHTMLのcanvas要素で定義された領域に対してJavaScriptで描画処理を行えます。以下のような描画を行うAPIが提供されています。 線(直線、曲線) 図形(四角形、円) 色とスタイル(単色、グラデーション、影) 文字の描画(サイズ、フォント、色の指定) 変形(拡大、回転、マトリクス変換) しかし、Canvas描画処理のJavaScript APIはグラフィックス処理独特の記述方法となっており、学習のハードルはそれなりに高いものになっています。 今回紹介するjCanvasは、HTML5 Canvasの機
morimorihogeです。最近忙しくて遠征すらおぼつかない状態です。夏イベント資源足りるのかこれ。 なんかはてブ界隈などでCanvas Fingerprintingの話題が出ていて、Cookieより怖い!とか、Adblockみたいに無効にする方法がないのにユーザトラッキングできて怖い!!といったアオリの記事がぽこぽこ出てきているようです。 でも、ざっと調べた限りの日本語のどの記事を読んでも、具体的にどうやってユーザ個々のトラッキングができるようになるのか、技術的に解説されている記事が見つかりませんでした。 というわけで、エンジニアとしてはここは一つキッチリ理解しておきたいと思い、調べた結果をまとめます。 もし僕の読解がおかしくて変なことを言っている部分があれば、はてブやTwitter、コメント欄などで指摘して頂ければ更新していこうと思いますので、マサカリ上等です ;) Canvas F
canvasをPNG画像へキャプチャしダウンロード。 PNG画像へのキャプチャは canvas.toBlob を使います。 ダウンロードは FileSystem API で行います。 canvas.toBlob HTMLCanvasElement のメソッド toBlob は Blobオブジェクト(画像)を返してくれます。 ただ残念なことに Firefox しかサポートしておらず、polyfill メソッドを用意する必要があります。 w3c: File API#blob stackoverflow: Which browsers (and versions) support the Canvas.toBlob method? MDN: HTMLCanvasElement Example: Save toBlob to disk with OS.File (Chrome Context On
The Web never forgets: Persistent tracking mechanisms in the wild is the first large-scale study of three advanced web tracking mechanisms - canvas fingerprinting, evercookies and use of "cookie syncing" in conjunction with evercookies. Read the paper » Go to Project Home » Sites with canvas fingerprinting scripts as of May 1-5, 2014 The list of websites that run canvas fingerprinting scripts on
コーヒーと本と甘いもの Rails, AngularJS, iOS, デザイン, CI, スタートアップ, 登山, バスケなどに興味があります。 今回は、iOSやAndroidのようなネイティブアプリではなく、JSでinstagramのような画像処理を行う方法を2つご紹介しまます。 Filtrr2.jsを使う方法 filtrr2.jsはJSによる画像加工ライブラリです。html5のcanvas要素に描画することで実現しています。使い方はとても簡単です。 ソースコードを以下からダウンロードします。 https://github.com/alexmic/filtrr/zipball/master 依存コードも含めて、filtrr2.jsをアプリケーション内に配置します。 以下のようにFiltrr2クラスにイメージ要素のIDと描画オプションを指定します。 var topImage = Filtr
source map | unminified javascript | full coffeescript seen.js has no dependencies. Licensed under Apache 2.0 To see what is new in this version, read the release notes. Demos Hello, World! Materials gallery Noisy Wave Patch Noisy Sphere Same Scene, Canvas vs. SVG Same Scene, Multiple Angles SVG Masks and Effects Text Depth of Field Audio Equalizer N-Body Gravity Simulation Mocap-Driven Skeleton 2
Canvasの画像(スクリーンショット)をローカルダウンロードします。 Arrayをblobオブジェクトに変換します。 blobオブジェクトをローカルダウンロードします。 Base64をblobオブジェクトに変換します。 function screenshot() { var canvas = document.getElementById("canvas"); var base64 = canvas.toDataURL(); // firfoxならtoblobで直接blobにして保存できます。 var blob = Base64toBlob(base64); saveBlob(blob,"default.png"); } var onload = function() { // 描画 好きなもの書いて~ var canvas = document.getElementById("canv
<div id="capture" style="padding: 10px; background: #f5da55"> <h4 style="color: #000; ">Hello world!</h4> </div> html2canvas(document.querySelector("#capture")).then(canvas => { document.body.appendChild(canvas) });
プログラミング経験ゼロから180日で180個のウェブサイトを作るプロジェクトに挑戦していたジェニファー・デウォルトさんが、ついに180個めのウェブサイトを作り上げ、完走を成し遂げました。10月3日のブログで、デウォルトさんは今までの苦労や今後について語っています。 After 180 Websites, I’m Ready to Start the Rest of My Life as a Coder http://blog.jenniferdewalt.com/post/62998082815/after-180-websites-im-ready-to-start-the-rest-of-my 180のウェブサイトを完成させたことで、この6ヶ月間で数多くのコードを学ぶことができ、彼女は数え切れないほどの徹夜と失敗に悩まされ、GitHubに全てのプログラムを公開していることも大きなストレ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く