タグ

canvasに関するokyawaのブックマーク (27)

  • HTML canvas で画像を切り取る(crop) Javascript サンプルコード - Qiita

    HTML canvas & Javascript を使った画像の切り抜き「Crop」のサンプルコードです。 ブラウザ上で画像を加工しようとしたら、canvas しかないわけですが、 いちばんやりたいのは「切り抜き:Crop」なんだけど、まぁ、シンプルなコードがほしかったのにみつから無いわけで。 無いときは自分で作るのがエンジニアの掟なわけです。 切り取る(crop) Demo 中央の枠の中を切り出すタイプ。先に切り出す枠を決めておいて、画像の方を確認しながら切り出す。 なんと言いますか、マウスで角から角へドラッグしたり、枠をつまんで移動するUIよりも、このほうが直感的でわかりやすいし、スマホとかタブレットにも向いているUIだと思うのです。 Crop してますか? 実際に触ってみてもらうのが早いでしょう。⬇︎ canvas 上で、マウスをドラッグすると切り抜く場所を変えられます。 canva

    HTML canvas で画像を切り取る(crop) Javascript サンプルコード - Qiita
  • HTML Canvas を使用して JavaScript で画像を切り抜く

    JavaScript で画像を切り抜くために、HTML の canvas 要素を利用できます。canvas 要素は HTML5 で利用できます。キャンバスに画像を表示してトリミングするには、drawImage() 関数を使用できます。drawImage() 関数は、最小で 3つのパラメーター、最大で 9つのパラメーターを取ります。 キャンバスに何でも描くことができるコンテキストと呼ばれるものがあります。帆布の上に描くことができるペンと考えることができます。context は、画面にコンテンツを描画する drawImage() と呼ばれるメソッドを提供します。JavaScript で画像を切り抜くためのステップバイステップのプロセスを見てみましょう。 JavaScriptHTML5 canvas 要素を使用して画像を切り抜く HTML5 の canvas は、必要なものを描画できる空白

    HTML Canvas を使用して JavaScript で画像を切り抜く
  • 大きな画像をJavaScriptでリサイズしてからAjax送信する方法

    さてさて、この間 wordpressみたいなドラッグ・アンド・ドロップをVueで実装という記事を公開しました。この記事の目的はユーザビリティだったのですが、ドラッグ&ドロップ機能の先では画像のアップロードを想定していました。 最近のウェブサイトでは画像をサーバーへ保存するというのは珍しいことではないでしょうが、実はアップロードする側の状況が変化してきたことである問題が発生するようになってきました。 それが・・・ スマホ・カメラの高解像度化のせいで画像アップロードに時間がかかってしまう というものです。 つまり、サイズが大きなファイルをアップロードするのに時間がかかってしまうということですね。 特にまだ日のウェブサイトは、以下のように確認ページを挟む場合も多く存在していますので、その場合(バリデーションを厳密にするなら)画像サイズが大きい場合は1番と2番で画像をアップロードする必要がでてき

    大きな画像をJavaScriptでリサイズしてからAjax送信する方法
  • [HTML5] Canvasを画像に変換しサーバへ送信する - ねこの足跡R

    Canvasに描画した内容を画像としてサーバへ送信し、そのままサーバに保存してみます。 今回は入力したテキストがそのままCanvasに描画される簡単なサンプルを用意しました。文字色と背景色もおまけで変更できます。もう少し頑張るとバナー画像ジェネレーターとか作れそうですね。 サーバ側のプログラムはPHPを採用していますが、他の言語でも似たような処理になります。 Canvasの内容をサーバへ送信する 実行例 ソース HTML JavaScript PHP 解説 Canvasを画像として取り出す サーバへ送信する サーバでバイナリとして保存する 参考ページ Canvasの内容をサーバへ送信する 実行例 以下から実際のサンプルをお試しいただけます。 miku3.net 左側にあるテキストボックスへ入力するとその場でCanvasに反映されます。同様に文字色や背景色も指定したタイミングでCanvasが

    [HTML5] Canvasを画像に変換しサーバへ送信する - ねこの足跡R
  • 画像のリサイズをJavaScriptで行う

    画像をバックエンドに送る前にリサイズしたい時があると思います。 サーバー側でリサイズ処理を行うのは、それだけでもアップロード時のネットワークの負荷などもあって あまりよろしくないことがあります。 なので、フロント側、つまりJavaScriptでリサイズしましょうという考え。 流れ 画像読み込む canvasを作成 好きな大きさを指定 画像をcanvasに貼り付ける(位置や、canvas内の画像の大きさなども指定する) DataURL(文字列化)にする このような流れになりますが、流れを見るより処理を見た方が分かりやすいかと思います。 リサイズ処理 画像読み込み 画像の読み込みを行います。 const inputElement = document.getElementById("input"); inputElement.addEventListener("change", roadImg

    画像のリサイズをJavaScriptで行う
  • Google Docs will now use canvas based rendering: this may impact some Chrome extensions

    Join the official community for Google Workspace administrators In the Google Cloud Community, connect with Googlers and other Google Workspace admins like yourself. Participate in product discussions, check out the Community Articles, and learn tips and tricks that will make your work and life easier. Be the first to know what's happening with Google Workspace. ______________ Learn about more Goo

    Google Docs will now use canvas based rendering: this may impact some Chrome extensions
  • AngularでSVG使おうぜ! - Qiita

    記事は Angular Advent Calendar 2017 の21日目の記事です。 みなさん、SVG使っていますか~! HTMLと同じように文書構造を表現できるSVGですが、Angularで利用するにあたって、その利便性や注意点にはどのようなモノがあるのでしょうか? Angularとの親和性 svgファイルをイメージタグで読み込んだりして利用する分には特に旨味はなく、「eventListnerでonclickを取得できるベクター画像」くらいの機能性しか持たず、特にAngularとのシナジーを感じるようないいことはないかもしれません。。。 しかし、SVGHTMLテンプレート上にそのまま記述でき、描写されるという特徴を持っています。 このため、バインディングやディレクティブなど、Angularを象徴する機能のほとんどがHTMLのテンプレートと同じように、遜色なく利用することができます

    AngularでSVG使おうぜ! - Qiita
  • Canvas上のイメージを画像ファイルとして保存する方法 - JavaScript|OAR CODE

    Canvas上に描画したイメージを画像ファイルとして保存する方法についてです。 流れとしては、 CanvasからBase64データを取得 Base64データからBlobデータに変換 a要素を使ってファイルダウンロード という感じになります。 HTML <div style="width:300px;height:250px;"> <canvas id="myCanvas" width="300" height="250"></canvas> </div> <div> <button onclick="saveCanvas('png');">pngで保存</button> <button onclick="saveCanvas('jpeg');">jpegで保存</button> </div> JavaScript // canvas上のイメージを保存 function saveCanvas

    Canvas上のイメージを画像ファイルとして保存する方法 - JavaScript|OAR CODE
  • 線画着色webサービスPaintsChainerを公開した - Qiita

    http://paintschainer.preferred.tech こちらに先月記事にした線画の着色のデモを公開しました!! 反響の大きかった皆さんに試していただけます!!(ちょっと期待値が上がり過ぎてないといいですがw) http://qiita.com/taizan/items/cf77fd37ec3a0bef5d9d 以前の記事『初心者がchainerで線画着色してみた。わりとできた。』はこちら。 ⇓そしてこちらがもじゃくっきーさんの使用例になっております。 GPUを使っている関係上アクセスが集中したりすると遅くなったりサーバーが落ちたりする可能性もありますが、生暖かく見守っていただければと思います。←たくさんの方に広まったこともあって、めっちゃ重くなっています。ぐぬぬぬ 画面はこんな感じっす。 線画ファイルを選択するととりあえず自動で塗ってくれます。 ※ただし、現状ではgifや

    線画着色webサービスPaintsChainerを公開した - Qiita
  • Dropboxも採用!JSだけでPDFをレンダリングできるPDF.jsにしびれた!

    WebアプリでPDFを扱うときって、どうしています?  一昔前ならサーバーサイドで生成してAdobe Readerで表示させるぐらいでしたが、いまならJavaScriptだけで描画も制御できちゃうんですね。 記事はJani Hartikainen、Florian Rappl、Jezen Thomas、Jeff Smithが査読を担当しています。最高のコンテンツに仕上げるために尽力してくれたSitePointの査読担当者のみなさんに感謝します。 現在のブラウザーはほぼすべて、WebサイトでのPDF文書を閲覧できる機能を最初からサポートしています。しかし、開発者はこのもともと備わっている機能を制御できません。たとえば、Webアプリ側のルールでPrintボタンを無効にしたい場合、有料会員への移行ページだけをレンダリングしない場合などを考えてみます。embedタグを使えばブラウザーにもともと備わ

    Dropboxも採用!JSだけでPDFをレンダリングできるPDF.jsにしびれた!
  • Canvasで描画した画像を送信してサーバに保存する - Qiita

    タイトルどおりのことをやった際の実装時メモ。 Canvasから画像を取得 2通りの方法が見つかった。 Base64への変換 Blobへの変換 Base64への変換 canvas.toDataURL()を呼び出すだけで取得可能であるが、 画像サイズに比例した巨大な文字列となり、変換によって元サイズより33%データ量が増える。 取得したBase64を<image>のsrcに指定すれば画像表示され、 <a>のhrefに指定すればリンククリックでダウンロードできてこれはこれで便利。 Blobへの変換 canvas.toBlob()を呼び出すだけで取得可能。 Blob形式で表現すれば、createObjectURL(blob)によりURL参照が取得できるので、 画像サイズに依存せずメモリ使用量を抑えられるらしい。(未確認) これは便利と思いきやcanvas.toBlob()はFirefoxでのみサポ

    Canvasで描画した画像を送信してサーバに保存する - Qiita
  • WebGLに対応し高速化したCreateJSの描画性能を探る - ICS MEDIA

    インタラクティブコンテンツ制作に役立つHTML5向けのフレームワークCreateJS (使い方は入門サイトを参照ください)。2014年1月に公式ブログでWebGLサポートが発表されました(参照記事「WebGL Support in EaselJS」)。公式ブログによるとパフォーマンスが従来比の6〜50倍にも達するとのことです。 果たしてどのぐらいの性能があるのか気になりましたので、以前の検証記事「HTML5開発者必見、最速のJavaScriptライブラリはどれだ!? パフォーマンスの徹底検証」を元に、WebGL対応版のCreateJS(描画を扱うJSライブラリ「EaselJS」)のパフォーマンスを比較検証してみました。検証に用いたデモは次のリンクをクリックすることで再生できます。 CreateJS (EaselJS 0.7.1) : 従来版。CanvasのContext2Dが利用されている

    WebGLに対応し高速化したCreateJSの描画性能を探る - ICS MEDIA
  • HTML5 Canvas Old School RPG - 昔懐かしいRPGをHTML5で表現

    ゲームには多くのジャンルがありますが、スマートフォンなどで人気なのはカジュアルなパズルゲームやアクションゲームではないでしょうか。人によってはもう少し時間をかけて遊べるRPGが好きという方も多いかと思います。 WebブラウザベースでRPGを作れれば、データをサーバに残していつでも続きができるようになります。そのベースとして参考になりそうなのがHTML5 Canvas Old School RPGです。 HTML5 Canvas Old School RPGの使い方 HTML5 Canvas Old School RPGは昔ながらのRPGといった感じですが、ファミコン風のノスタルジックな表現がかえって心地よかったりします。音楽も鳴るので、ゲーム内容を作り込めばかなり格的なRPGが作れるのではないでしょうか。 HTML5 Canvas Old School RPGHTML5/JavaScr

    HTML5 Canvas Old School RPG - 昔懐かしいRPGをHTML5で表現
  • Cookieを使わずにユーザーを追跡する仕組みが普及しつつある | スラド IT

    Canvas機能を使った文字やグラフィックス描画の際の挙動の違いでWebブラウザの違いを識別する「Canvas Fingerprinting」という技術が開発され、すでにトップ10万のサイト中5.5%がこれを使ったユーザー追跡を利用しているという。 また、ユーザがCookieをこまめに削除しても、サイト側が同じデータをFlashのローカル共有オブジェクト(LSO、Flash Cookie)などに保存しておいて回復させれば、実質的にCookieを不滅化することができる。このEvercookieを実現する手段の一つである「Respawning by Flash cookie」sは、人気上位200サイトのうち10サイトで検出されたそうだ。 Cookieを無効にしていても、適切な対処をしない限り、閲覧者の行動はかなりの割合で漏洩している可能性があるようだ。 Canvas Fingerprintin

  • JavaScriptで『漫画カメラ』的画像加工

    okayama-js 第四回勉強会(http://okayama-js.net/?p=7)で紹介したものです。ややキワモノネタですが。 【2012.10.16】結構恥ずかしい誤植があったので修正しました。canvs→canvasRead less

    JavaScriptで『漫画カメラ』的画像加工
  • 要約: Apple iPhone5のページのJPEGとJSとcanvasタグによるビデオの実装がやばいという話

    2012 年 9 月 26 日 追記しました。 要約エントリー。 元記事 : iPhone 5 website teardown: How Apple compresses video using JPEG, JSON, and <canvas> アップルのサイトの iPhone5 のページにある「スライドしてアンロック」のアニメーションが、信じられない実装になっている、という話。簡単に要約してみた。(ミスなどの指摘は @lowply までお願いします) もともと h.264 と WebM の動画フォーマット戦争でブラウザ互換性の問題がまだ残っている上、iPhone などは「再生ボタン」を押さないと再生できなかったりするので、こうした短いアニメーションに video タグを使うことは最適解ではなかったらしい。 そこで発想の転換をして、Retina MBP のページでは、蓋が開くたった 2

    要約: Apple iPhone5のページのJPEGとJSとcanvasタグによるビデオの実装がやばいという話
  • HTML5周辺技術のWebGLとJavaScriptでジニーエフェクト | ClockMaker Blog

    JavaScriptMac定番のジニーエフェクトを作ってみました。今回利用したのはHTML5周辺技術のWebGLというもので、プラウザネイティブでGPUを利用できる機能です。 デモを見る (2023年バージョン) デモを見る (2012年バージョン) ※2023年にデモをThree.js r151で動作するようにメンテナンスしました。 WebGLとCanvasの違い 今回はWebGLを使っているため再生可能な環境が限られています。当は再生できる環境を増やすためにWebGLではなくCanvasタグを利用したかったのですが、Canvasタグだとアンチエイリアスの限界で「ヒビ割れ」が発生して完成させることができませんでした。 失敗作A (自前で作成したバージョン) 失敗作B (Three.jsのCanvasレンダラーを利用したバージョン) 対策としてトライアングルを外側に広げるなど色々試した

    HTML5周辺技術のWebGLとJavaScriptでジニーエフェクト | ClockMaker Blog
  • 注目!Flash CS風のUIでHTML5のタイムラインアニメーション作成·Radi MOONGIFT

    RadiはHTML5対応のタイムラインベースのアニメーション作成ソフトウェア。 RadiはMac OSX用のフリーウェア(β版中につき無料)。Webブラウザ上でインタラクティブでタイムラインベースのアニメーションを作ろうと思ったらFlashを使うのが一般的だ。しかしそれはHTML4までだ。HTML5になればCanvasタグを駆使することでアニメーションさえ自在に作れる。 メイン画面 とは言えそれはあくまでも「駆使」すればの話でしかない。やはりツールがなければ容易に作れるものではないし、容易でなければ普及しないだろう。そこで注目されるのがRadi、HTML5対応のアニメーション作成ソフトウェアだ。 RadiはFlashのようにレイヤーを重ねてタイムラインベースのアニメーションを作成する。作成したコンテンツはvideoタグ、canvasタグで出力することができる。フレーム間の動きは自動で補完で

  • CanvasとFile APIとWeb Workersで画像フィルタDemo

    動作確認ブラウザ: Google Chrome 8.0.552.231, Firefox 3.6.13。共にMac版。 FirefoxはFirebugを有効にしているとwindow.openでdata URIを開くときにフリーズしてしまいました...。 画像ファイルと適応するフィルタを選んで実行を押してください。 サイズが大きいとブラウザがクラッシュするかもしれません。800x600位がいいかもです(適当)。

  • CanvasとFile APIとWeb Workersを組み合わせて画像にフィルタをかけてみた | _iLTdiwn

    CanvasとFile APIとWeb Workersを組み合わせて画像にフィルタをかけてみた Posted by tatat on 2011/01/09 09:25 Categorized as JavaScript Comments (0) A「彼女が欲しいです。」B「それ、html5でできるよ。」 という程度にはhtml5周辺おもしろいです。 今回はCanvasとFile APIとWeb Workersを組み合わせて画像にフィルタをかけてみました。デモは下の方にあります。 はい、とりあえずFile APIです。今回はFileReaderを使うのでブラウザが対応しているかどうかはこんな感じで確認できました。 if(window.FileReader) { // 対応してる } else { // 対応してない } 画像を読み込んで表示するときの簡単な使い方はこんな感じです。 win