Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Toshio Ehara
PDF, PPTX
16,432 views
HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5+α @福岡 - 第21回 2013/12/18(水) 19:30 LT資料
Technology
◦
Entertainment & Humor
◦
Read more
15
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 30
2
/ 30
Most read
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PDF
インラインSVGをつかって地図っぽいものをつくってみる
by
Kohei Kadowaki
PDF
SQLアンチパターン - ナイーブツリー
by
ke-m kamekoopa
PDF
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
by
Yoshifumi Kawai
PDF
こわくない Git
by
Kota Saito
PPTX
マイクロサービスにおける非同期アーキテクチャ
by
ota42y
PDF
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
by
Unite2017Tokyo
PDF
トリコの動かし方
by
株式会社ジェンデザイン
PDF
暗認本読書会12
by
MITSUNARI Shigeo
インラインSVGをつかって地図っぽいものをつくってみる
by
Kohei Kadowaki
SQLアンチパターン - ナイーブツリー
by
ke-m kamekoopa
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
by
Yoshifumi Kawai
こわくない Git
by
Kota Saito
マイクロサービスにおける非同期アーキテクチャ
by
ota42y
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
by
Unite2017Tokyo
トリコの動かし方
by
株式会社ジェンデザイン
暗認本読書会12
by
MITSUNARI Shigeo
What's hot
PDF
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
PDF
暗号技術の実装と数学
by
MITSUNARI Shigeo
PPTX
見よう見まねでやってみる2D流体シミュレーション
by
KLab Inc. / Tech
PDF
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PPTX
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
PPTX
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
by
U-dai Yokoyama
PDF
MySQLで論理削除と正しく付き合う方法
by
yoku0825
PDF
マスターデータの キャッシュシステムの改善の話
by
natsumi_ishizaka
PPTX
ゲームエンジニアのためのデータベース設計
by
sairoutine
PDF
[AWS Summit 2012] 基調講演 Day2: Go Enterprise!
by
Amazon Web Services Japan
PDF
待望のUE4新機能 ナイアガラでプログラマブルVFX
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Topological sort
by
HCPC: 北海道大学競技プログラミングサークル
PPTX
Cloud formation デザイナーで捗ろう
by
koki abe
PDF
Where狙いのキー、order by狙いのキー
by
yoku0825
PPTX
振り返り(アジャイルレトロスペクティブズ)
by
Keisuke Tameyasu
PDF
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
RSA鍵生成脆弱性ROCAの紹介
by
MITSUNARI Shigeo
PDF
Spring Cloud Data Flow の紹介 #streamctjp
by
Yahoo!デベロッパーネットワーク
PDF
GoogleのSHA-1のはなし
by
MITSUNARI Shigeo
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
暗号技術の実装と数学
by
MITSUNARI Shigeo
見よう見まねでやってみる2D流体シミュレーション
by
KLab Inc. / Tech
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
by
U-dai Yokoyama
MySQLで論理削除と正しく付き合う方法
by
yoku0825
マスターデータの キャッシュシステムの改善の話
by
natsumi_ishizaka
ゲームエンジニアのためのデータベース設計
by
sairoutine
[AWS Summit 2012] 基調講演 Day2: Go Enterprise!
by
Amazon Web Services Japan
待望のUE4新機能 ナイアガラでプログラマブルVFX
by
エピック・ゲームズ・ジャパン Epic Games Japan
Topological sort
by
HCPC: 北海道大学競技プログラミングサークル
Cloud formation デザイナーで捗ろう
by
koki abe
Where狙いのキー、order by狙いのキー
by
yoku0825
振り返り(アジャイルレトロスペクティブズ)
by
Keisuke Tameyasu
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
RSA鍵生成脆弱性ROCAの紹介
by
MITSUNARI Shigeo
Spring Cloud Data Flow の紹介 #streamctjp
by
Yahoo!デベロッパーネットワーク
GoogleのSHA-1のはなし
by
MITSUNARI Shigeo
Similar to HTML5のCanvas入門 - Img画像を編集してみよう -
PDF
メディア芸術基礎 II Canvas + Javascriptで図形を描く
by
Atsushi Tadokoro
PDF
Canvas勉強会
by
Tsutomu Kawamura
KEY
HTML5で作るスマホブラウザゲーム
by
Takumi Ohashi
KEY
iOSプログラマへ。HTML5 Canvasがおもしろい!
by
cocopon
PDF
Canvasでペイントアプリ作成
by
Yossy Taka
PDF
HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)
by
Hideki Akiba
PDF
静岡Developers勉強会 HTML5&CSS3
by
yaju88
PDF
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
by
Atsushi Tadokoro
ODP
20130202 fe勉強会 canvas
by
Keisuke Aizawa
PDF
㉗HTML5+jQueryでお絵かき
by
Nishida Kansuke
KEY
Html5勉強会資料 2012821
by
Cohei Aoki
PDF
初心者向けJavaScript/HTML5ゲームプログラミング
by
Kazuki Miyanishi
KEY
12.09.08 明星和楽2012 KLabハンズオンセッション
by
Kei Nakazawa
PDF
⑱jQueryをおぼえよう!その4
by
Nishida Kansuke
PDF
⑰jQueryをおぼえよう!その3
by
Nishida Kansuke
PDF
ぱんちら.js -JavaScriptでテクスチャマッピング- HTML5飯発表資料
by
minoru nakanou
PDF
Html canvas shooting_and_performanceup
by
Yohei Munesada
PDF
Canvas de shooting 制作のポイント
by
Yohei Munesada
KEY
JavaScript Hackathon for Students
by
Takumi Ohashi
PDF
20110903 gunmaweb#6 pavone
by
ivoryworks .
メディア芸術基礎 II Canvas + Javascriptで図形を描く
by
Atsushi Tadokoro
Canvas勉強会
by
Tsutomu Kawamura
HTML5で作るスマホブラウザゲーム
by
Takumi Ohashi
iOSプログラマへ。HTML5 Canvasがおもしろい!
by
cocopon
Canvasでペイントアプリ作成
by
Yossy Taka
HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)
by
Hideki Akiba
静岡Developers勉強会 HTML5&CSS3
by
yaju88
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
by
Atsushi Tadokoro
20130202 fe勉強会 canvas
by
Keisuke Aizawa
㉗HTML5+jQueryでお絵かき
by
Nishida Kansuke
Html5勉強会資料 2012821
by
Cohei Aoki
初心者向けJavaScript/HTML5ゲームプログラミング
by
Kazuki Miyanishi
12.09.08 明星和楽2012 KLabハンズオンセッション
by
Kei Nakazawa
⑱jQueryをおぼえよう!その4
by
Nishida Kansuke
⑰jQueryをおぼえよう!その3
by
Nishida Kansuke
ぱんちら.js -JavaScriptでテクスチャマッピング- HTML5飯発表資料
by
minoru nakanou
Html canvas shooting_and_performanceup
by
Yohei Munesada
Canvas de shooting 制作のポイント
by
Yohei Munesada
JavaScript Hackathon for Students
by
Takumi Ohashi
20110903 gunmaweb#6 pavone
by
ivoryworks .
More from Toshio Ehara
PDF
AngularJSで業務システムUI部品化
by
Toshio Ehara
PDF
AngularJS入門の巻
by
Toshio Ehara
PDF
AngularJS入門の巻2
by
Toshio Ehara
PDF
Java電卓勉強会資料
by
Toshio Ehara
PDF
iPhoneアプリを Javaで書くよ?
by
Toshio Ehara
PDF
AngularJSのDirectiveで俺俺タグつくっちゃお
by
Toshio Ehara
PDF
AngularJS+TypeScriptを試してみた。
by
Toshio Ehara
PDF
BACKBONE.JSによるWebアプリケーション開発について
by
Toshio Ehara
PDF
BACKBONEJS+SCSS+JavaEE(JAX-RS) 今風のWebアプリをNetBeansで入門!
by
Toshio Ehara
PDF
traceur-compilerで未来のJavaScriptを体験
by
Toshio Ehara
PDF
JavaScriptもBACKBONE.JSならスッキリ ~MVCぽいのを初体験!~
by
Toshio Ehara
PDF
BACKBONE.JSにJasmineでテストコード書いてみた (LT資料)
by
Toshio Ehara
PDF
LT Leap MotionとJavaScriptで遊ぼう!
by
Toshio Ehara
PDF
traceur-compilerで ECMAScript6を体験
by
Toshio Ehara
PDF
Java初心者勉強会(2015/08/07)資料
by
Toshio Ehara
PDF
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
by
Toshio Ehara
PDF
福岡のIT勉強会情報の集め方(LT資料)
by
Toshio Ehara
PDF
JenkinsをJava開発でこんな感じで使っています
by
Toshio Ehara
PDF
JavaScriptのテストコード 一緒に勉強しませんか??
by
Toshio Ehara
PDF
BABELで、ES2015(ES6)を学ぼう!
by
Toshio Ehara
AngularJSで業務システムUI部品化
by
Toshio Ehara
AngularJS入門の巻
by
Toshio Ehara
AngularJS入門の巻2
by
Toshio Ehara
Java電卓勉強会資料
by
Toshio Ehara
iPhoneアプリを Javaで書くよ?
by
Toshio Ehara
AngularJSのDirectiveで俺俺タグつくっちゃお
by
Toshio Ehara
AngularJS+TypeScriptを試してみた。
by
Toshio Ehara
BACKBONE.JSによるWebアプリケーション開発について
by
Toshio Ehara
BACKBONEJS+SCSS+JavaEE(JAX-RS) 今風のWebアプリをNetBeansで入門!
by
Toshio Ehara
traceur-compilerで未来のJavaScriptを体験
by
Toshio Ehara
JavaScriptもBACKBONE.JSならスッキリ ~MVCぽいのを初体験!~
by
Toshio Ehara
BACKBONE.JSにJasmineでテストコード書いてみた (LT資料)
by
Toshio Ehara
LT Leap MotionとJavaScriptで遊ぼう!
by
Toshio Ehara
traceur-compilerで ECMAScript6を体験
by
Toshio Ehara
Java初心者勉強会(2015/08/07)資料
by
Toshio Ehara
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
by
Toshio Ehara
福岡のIT勉強会情報の集め方(LT資料)
by
Toshio Ehara
JenkinsをJava開発でこんな感じで使っています
by
Toshio Ehara
JavaScriptのテストコード 一緒に勉強しませんか??
by
Toshio Ehara
BABELで、ES2015(ES6)を学ぼう!
by
Toshio Ehara
HTML5のCanvas入門 - Img画像を編集してみよう -
1.
HTML5のCanvas入門 - Img画像を編集してみよう 2013/12/18(水)
HTML5+α @福岡 - 第21回 LT資料 Photo by Web制作向け無料写真素材/ぱくたそ http://www.pakutaso.com
2.
自己紹介です ======== 江原と申します。(@itokami1123) 福岡で業務アプリをJavaScriptで作って暮らしてます。 来年からはJava屋に転職。今は、名刺無いです…。 こんな野望が持ってます。 ・業務系WebアプリのUIをモット使いやすくしたい! ・JavaとJavaScriptを仲良くさせたい! ・コミュニティの力で福岡を一つに!景気上昇↑雇用拡大↑ ・生涯、福岡でエンジニアしたい!
3.
本日の内容 ======== HTML5のCanvas機能を使うとImgタグの画像編集が サーバの力を借りなくても クライアント(JavaScript)側で行うことが出来ます。 簡単ですがその手順や注意事項について説明させてください!
4.
( HTML5のCanvasて何?
5.
HTML5のCanvasとは ブラウザ上に図を描くための機能です。 JavaScriptで図形や画像の描画が出来ます!
6.
例えば、ブラウザに線とか引けます。 ! <canvas id="sample" width="200"
height="150"></canvas> ! var canvas = document.getElementById('sample'); ! var ctx = canvas.getContext('2d'); ! 描画対照を選択! ctx.beginPath(); ! ctx.moveTo(10, 10); ctx.lineTo(40, 40); ! ctx.stroke();
7.
例えば、ブラウザに線とか引けます。 ! <canvas id="sample" width="200"
height="150"></canvas> ! var canvas = document.getElementById('sample'); ! var ctx = canvas.getContext('2d'); ! ctx.beginPath(); 描画道具 ! Canvas 描画対照から Context ctx.moveTo(10, 10); 描画する道具を ctx.lineTo(40, 40); ! いただきます。 ctx.stroke();
8.
例えば、ブラウザに線とか引けます。 ! <canvas id="sample" width="200"
height="150"></canvas> 座標位置を設定して描画できます。 ! ! 線が引けた! var canvas = document.getElementById('sample'); ! var ctx = canvas.getContext('2d'); ! ctx.beginPath(); ! ctx.moveTo(10, 10); ctx.lineTo(40, 40); ! ctx.stroke();
9.
( ふーん、こんなんで画像編集できんの?
10.
ではCanvasで画像編集してみましょ〜!
11.
imgとCanvasの下準備…。 (512px) (512px) のpngを用意しました。 九九衰弱 -iPhoneアプリ
https://itunes.apple.com/jp/app/99suizyaku/id571962674 九九の書かれたカードでする神経衰弱ゲーム。間に合わないと爆破しちゃうぞ。 HTMLとCSSはこんな感じで用意しました。 <img id="source_img" /> <canvas id="edit_canvas" width="200" height="200" > </canvas> img{ Canvas解像度(200px) ×(200px) width: 200px; height: 200px; box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.5); } canvas{ 画面に表示するサイズ width: 200px; height: 200px; box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.5); }
12.
imgデータをロードして… var $img =
$('#source_img'); ! $img.load( drawCanvas ); ! $img.attr( "src", "http://jsrun.it/assets/3/F/d/Q/3FdQP.png" ); ! imgタグに 画像を設定! imgがload完了後 drawCanvas関数を呼びます。
13.
imgデータをロードしてからのCanvas描画! function drawCanvas( event){ Eventからimgタグを取得! var
$img = $( event.target), img = $img[0]; Canvas描画道具取得 var $canvas = $( "#edit_canvas"); var ctx = $canvas[0].getContext("2d"); ctx.drawImage( img, 0, 0 ); } imgデータを使ってCanvaに描画!
14.
そのまま貼付けしてみると… function drawCanvas( event){ var
$img = $( event.target), imgデータを (0,0)の位置に貼付け img = $img[0]; Canvasは 200x200なのではみでます! var $canvas = $( "#edit_canvas"); var ctx = $canvas[0].getContext("2d"); ctx.drawImage( img, 0, 0 ); } Σ (
15.
貼付け先の幅と高さを指定してあげると… function drawCanvas( event){ var
$img = $( event.target), imgデータを (0,0)の位置に img = $img[0]; 幅200px 高さ200pxで描画! var $canvas = $( "#edit_canvas"); var ctx = $canvas[0].getContext("2d"); ctx.drawImage( img, 0, 0 , 200, 200); } (
16.
爆弾だけ切り取りたい場合は… function drawCanvas( event){ var
$img = $( event.target), imgの(12,332)から幅高さ100pxを img = $img[0]; 幅200px 縦200pxで描画! var $canvas = $( "#edit_canvas"); var ctx = $canvas[0].getContext("2d"); ctx.drawImage(img, 12,332,100,100, 0,0,200,200); } (
17.
( あっ画像の向き間違えた…
18.
大丈夫!画像を回転出来ます!
19.
30度、60度、90度で回転させてみましょう〜! ctx.rotate( 30 * Math.PI
/ 180); ctx.drawImage( img, 0, 0 , 200, 200); ctx.rotate( 60 * Math.PI / 180); ctx.drawImage( img, 0, 0 , 200, 200); ctx.rotate( 90 * Math.PI / 180); ctx.drawImage( img, 0, 0 , 200, 200); ( あれっ?消えたよ..
20.
左上(0,0)を中心に回るみたいですね! ctx.rotate( 30 * Math.PI
/ 180); ctx.drawImage( img, 0, 0 , 200, 200); (0,0)
21.
だったら下の手順で行けそうですね! ①x,y座標を-100px ずらす ②90度回転! ③x,y座標を +100pxずらす (表示されるとこに移動する)
22.
さっきのイメージをコードにして… ①x,y左上に移動して.. ctx.translate( -100, -100
); ctx.rotate( 90 * Math.PI / 180); ctx.translate( 100, 100 ); ②90度回転! ③表示できる位置に戻す ctx.drawImage( img, 0, 0 , 200, 200); !?表示されない ( あれっ!?
23.
実は変換は逆に設定する必要があるのです。 ctx.translate( ctx.rotate( 100, 100 ); ③表示できる位置に戻す 90 *
Math.PI / 180); ②90度回転! ctx.translate( -100, -100 ); ①x,y左上に移動して.. ctx.drawImage( img, 0, 0 , 200, 200); \出来た/ (
24.
( せっかく加工した画像保存したいなぁ
25.
大丈夫!画像を取り出せます!
26.
Canvasの描画内容をBase64形式で取得出来ます。 var $canvas =
$( "#edit_canvas"); var ctx = $canvas[0].getContext("2d"); ctx.translate( ctx.rotate( 100, 100 ); 90 * Math.PI / 180); Base64形式で取得! ctx.translate( -100, -100 ); ctx.drawImage( img, 0, 0 , 200, 200); var base64Data = $canvas[0].toDataURL("image/png"); $('#out_img').attr( "src", base64Data); canvasタグ imgタグ この例は、作成したBase64形式のデー タをimgタグのsrcに指定しています。 文字列なのでサーバに送信してサーバ 側でPNG画像にする事も可能です。
27.
まとめ
28.
まとめ ======== ・Canvasは自由に図形を描画する事が出来ます。 ・CanvasはImgタグ画像を取り込む事が出来ます。 ・Canvasに取り込めば画像を回転したり切り取ったり出来ます。 ・画像変換の指定は逆の順番で書きましょう。 ・加工した画像 canvas.toDataURL() で取り出せます。
29.
HTML5のCanvasが使えるブラウザは結構多いと思います! うまく使えばサーバの負荷を減らす事が出来そうですね! http://fmbip.com/litmus/
30.
これで発表はおしまいです! ご清聴ありがとうございました!
Download