SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
SVG事始め
解説
実装
応用
解説
=> http://ja.wikipedia.org/wiki/Scalable_Vector_Graphics
SVGとは?
• Scalable Vector Graphics
• 2次元ベクターイメージ用の画像形式の一つ
• 他にはPDF / Postscript など
• 2001/9/4 SVG 1.0がW3C勧告となる
• SVG1.1(2nd Edition)が最新
• 他にもモバイル向けのSVG Tiny 1.2やSVG Basicがある
特徴
• XMLで画像を記述できる
• ハイパーリンクを埋め込める
• Javascriptで操作できる(jQueryは✕)
• アニメーションやユーザインタラクションも受け付ける?
• SCMでのバージョン管理も可能(テキストとして)
• 高画質
• ドットで記述するgif等に比べて、拡大しても質が落ちない
• どの画像サイズに対しても同等の記述量が必要(ベクタ形式の欠点)
対応アプリケーション
• ブラウザ
• FireFox1.5+ / Chrome / IE9+ / Opera 9.0+
• Safari 3.0+ (一部の仕様未実装・OSによる)
• エディタ
• Adobe Illustrator / Microsoft Office Visio / Mathematica
• R言語の出力形式
• デスクトップ
• GNOME(libsvgを使いアイコンや壁紙にSVGを指定可能)
実装
=> Webグラフィックをハックする(2):10分でわかるSVG 基礎編 (1/5) - @IT
http://www.atmarkit.co.jp/ait/articles/1206/01/news143.html
基本図形
• rect
• circle
• ellipse
• line
• polyline
• polygon
• path
• image
• text
発展
• transform
• animate
• linearGradient/ radialGradient / pattern
• clipPath / Mask
発展2
• foreignObject
• onload
埋め込み
• インライン
• XHTML / HTML形式(HTML5対応のブラウザのみ)
• 外部ファイル
• Objectタグ
• imgタグ / CSS
• 古いブラウザでは動かない可能性
• .svgz
• 外部ファイルをgzipしておくとブラウザ側で解凍してくれる
応用
SVG with js
• onloadでやる
• HTMLに埋め込まれたjavascript
• imgタグで埋め込むとjsで処理できない
• jQuery使えない
そこで…
d3.js
• Data Driven Documentation
• DataからDOMオブジェクトを生成する
• 独自DSLでインタラクティブなオブジェクト
を作ることが出来る
• #11 transitionを使ってみよう - ドットインストール
• http://dotinstall.com/lessons/basic_d3js/23011
さらなる応用
• Graphviz
• SVG出力可能
• SVG画像のDiff
• PhantomJS / Wraith
• gifやCanvasとの比較
• SVG と Canvas: どちらを選ぶか
• http://msdn.microsoft.com/ja-jp/library/ie/gg193983
まとめ
• アプリエンジニアならペイントツールを覚えるよ
り、SVGのXML出力について考えるべき
• d3.jsは面白そうだけど、javascriptともjQuery
とも違う独自DSLなのを忘れないように
• IEガーIEガー
第一部 完

Más contenido relacionado

La actualidad más candente

WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
Akira Inoue
 
WebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめ
Akira Inoue
 

La actualidad más candente (19)

20120128
2012012820120128
20120128
 
20120616
2012061620120616
20120616
 
A 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web StackA 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web Stack
 
WindowsServer_on_ec2_tips_public
WindowsServer_on_ec2_tips_publicWindowsServer_on_ec2_tips_public
WindowsServer_on_ec2_tips_public
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
 
ReactiveUI を使った表計算っぽいWPFアプリケーションで Reactiveプログラミング の練習をした話
ReactiveUI を使った表計算っぽいWPFアプリケーションで Reactiveプログラミング の練習をした話ReactiveUI を使った表計算っぽいWPFアプリケーションで Reactiveプログラミング の練習をした話
ReactiveUI を使った表計算っぽいWPFアプリケーションで Reactiveプログラミング の練習をした話
 
Atomic design+vue
Atomic design+vueAtomic design+vue
Atomic design+vue
 
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
 
オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編
 
20120609
2012060920120609
20120609
 
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
クラウド化が進む今だから読み解くHyper-Vアーキテクチャクラウド化が進む今だから読み解くHyper-Vアーキテクチャ
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
 
中小企業向けWindows Server OSの基本とTips
中小企業向けWindows Server OSの基本とTips中小企業向けWindows Server OSの基本とTips
中小企業向けWindows Server OSの基本とTips
 
WebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure を使ったスマートフォンサイト構築のすすめ
 
Movable Type as a Playground
Movable Type as a PlaygroundMovable Type as a Playground
Movable Type as a Playground
 
iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018
 
Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作
 

Similar a SVG事始め

F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
Yasunobu Ikeda
 
HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626
Taku AMANO
 
Svgについて
SvgについてSvgについて
Svgについて
tomowata
 
SVG標準化の最新動向
SVG標準化の最新動向SVG標準化の最新動向
SVG標準化の最新動向
Jun Fujisawa
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
 
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
Osamu Monoe
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Akira Inoue
 
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかたパララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
Shumpei Shiraishi
 

Similar a SVG事始め (20)

F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
 
インタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlashインタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlash
 
Firefox OSでSVGをつかってみた
Firefox OSでSVGをつかってみたFirefox OSでSVGをつかってみた
Firefox OSでSVGをつかってみた
 
HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626
 
Svgについて
SvgについてSvgについて
Svgについて
 
SVGでつくるインタラクティブWebアプリケーション
SVGでつくるインタラクティブWebアプリケーションSVGでつくるインタラクティブWebアプリケーション
SVGでつくるインタラクティブWebアプリケーション
 
SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7
 
SVG標準化の最新動向
SVG標準化の最新動向SVG標準化の最新動向
SVG標準化の最新動向
 
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
 
テスト
テストテスト
テスト
 
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
知って得する (かもしれない)、Internet Explorer での Canvas と SVG の描画
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
ShareWisをFirefoxで動かすためのSVG的とりくみ
ShareWisをFirefoxで動かすためのSVG的とりくみShareWisをFirefoxで動かすためのSVG的とりくみ
ShareWisをFirefoxで動かすためのSVG的とりくみ
 
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかたパララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
 
レスポンシブWebデザイン【基礎編】
レスポンシブWebデザイン【基礎編】レスポンシブWebデザイン【基礎編】
レスポンシブWebデザイン【基礎編】
 
Windows serverとインフラ関連アップデート
Windows serverとインフラ関連アップデートWindows serverとインフラ関連アップデート
Windows serverとインフラ関連アップデート
 
CSS3の最新事情
CSS3の最新事情CSS3の最新事情
CSS3の最新事情
 

Más de Nemoto Yusuke (9)

Mattermost Plugin Bounty Programについて
Mattermost Plugin Bounty ProgramについてMattermost Plugin Bounty Programについて
Mattermost Plugin Bounty Programについて
 
Gradle布教活動
Gradle布教活動Gradle布教活動
Gradle布教活動
 
Gradle handson
Gradle handsonGradle handson
Gradle handson
 
Scalaを触ってみた
Scalaを触ってみたScalaを触ってみた
Scalaを触ってみた
 
実践プログラミング DSL
実践プログラミング DSL実践プログラミング DSL
実践プログラミング DSL
 
ブログる
ブログるブログる
ブログる
 
社内勉強会 - 書籍管理Webシステム
社内勉強会 - 書籍管理Webシステム社内勉強会 - 書籍管理Webシステム
社内勉強会 - 書籍管理Webシステム
 
社内勉強会 - chef
社内勉強会 - chef社内勉強会 - chef
社内勉強会 - chef
 
Sinatra slideshare
Sinatra slideshareSinatra slideshare
Sinatra slideshare
 

Último

Último (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

SVG事始め