スキップしてメイン コンテンツに移動

SVGで画像を切り抜いてみよう

広がりつつあるSVG

このところSVGがWebにも広がりつつあり、たまに聞くけど、結局どう使うの?何に使えるの?という質問があります。

実際にSVGを使うとこんなことができるよ、というサンプルを紹介したいと思います。



まずはじめに。

SVGはどんなブラウザでも同じように見えるわけではありません。

現在のところ、IE8以下、Android 4.3以下ではサポートしていません。
(参照 http://caniuse.com/#search=svg、2015年11月)

SVGはjpgのような画像ファイルではなく、イラストレータ等で扱われる「ベクターデータ」です。

その特徴としては、
・拡大・縮小をしても画像の劣化がないこと
・ハイパーリンクなどを画像中に埋め込むことができる
などがあります。

画像を組み合わせて任意の形に切り抜いたサンプル

今回用意するもの
・画像(jpgデータ)×3枚

サンプル
http://sample.creativeflake.com/svg/



まずは画像を並べる

今回は、大きな「shape-container」という枠に、クロワッサンの写真を背景として置きました。

そしてその中に「shape-center」と「shape-right」という入れ子を作り、それぞれの背景にコーヒーの写真、カップケーキの写真を置きました。



切り抜く

今回切り抜くのは、入れ子にした、「shape-center」と「shape-right」を平行四辺形に切り抜きます。
(※切り抜き方は任意の形でOK)

まずは「shape-center」。
画面サイズを100%として考えます。

切り抜きのスタート地点の座標を(x座標, y座標)=(40%, 0)としたときに、
そこからぐるっと平行四辺形を一周するように、各頂点の座標をそれぞれ、(20%, 100%), (60%, 100%), (80%, 0)となるようにします。



切り抜くCSSはclip-path: polygon(座標, 座標, ...)

この座標に、一周ぐるっと値を入力します。



もう片方の画像も同じように

もう片方の図形(shape-right)は台形に切り抜いていますが、こちらも同様、各座標を
(80%, 0),(60%, 100%),(100%, 100%),(100%, 0)
としています。



切り抜く方向は自由

切り抜き方ではスタート地点をどこにしてもOKですし、時計回りでも反時計回りでもOKです。
一筆書きになるように。 サンプルはこちら
http://sample.creativeflake.com/svg/




Written by Creative Flake

コメント

このブログの人気の投稿

ブログ移転のお知らせ

いつもご覧いただきありがとうございます。 当ブログは下記URLへと引っ越しました。 http://blog2.creativeflake.com/ 今後はこちらをご覧ください!!

太字にしても文字を潰さない方法「太字に強い無料の日本語フォント」付き

PhotoshopやIllustratorなどで、太文字を書きたいとき文字がつぶれて見づらいことはありませんか? つぶれ文字の場合 文字がつぶれてしまった場合の多くは、 ・ボールド「B」で太くしている ・枠線をつけて太くしている こういうケースが多く見られます。 これは、元の文字の外側に太線をつけるため、スキマが埋められてしまうことでつぶれて見えるためです。 つぶれない文字にするには 文字をつぶさないようにするには、文字そのもののウェイトで調整します。 ウェイトというのは「太さ」という意味です。 例えば、「●●ゴシック-M」とか、「▲▲明朝-W3」などという、フォント名の最後にアルファベットや数字がついているのを見たことはありませんか? まずはフォント(文字)を選ぶ際に、ウェイトのバリエーションが存在するかどうか確認してから使うことをおすすめします。 太字にできる無料の日本語フォント そもそもどんなフォントが太字のバリエーションがあるのか、今回は無料の日本語フォントを紹介します。 M+フォント やや丸みのあるやさしいイメージのゴシックフォント。 極細から太字までフォントウェイトがあります。 【ライセンス】商用・非商用可。利用、複製、再配布可能。 配布サイトでダウンロード Kazesawaフォント こちらも丸みのある、認識性の高いフォントです。 エクストラライトからエクストラボールドまで6種類のウェイトがあります 【ライセンス】SIL Open Font License準拠 配布サイトでダウンロード 源ノ角ゴシック AdobeとGoogleが共同開発したオープンソースのフォントです。 エクストラライトからヘビーまで7種類のウェイトがあります 【ライセンス】SIL Open Font License準拠 配布サイトでダウンロード Rounded M+ 丸ゴシックのかわいい感じなのに品のあるのフォントです。 また、「標準」、「丸さ強め」、「丸さ弱め」からも選んでダウンロードが可能です。 【ライセンス】商用・非商用可。利用、複製、再配布可能。 配布サイトでダウンロード Written by Cr...

CSS3でアニメーションを作ってみよう(理論編)

こんにちは、クリエイティブフレークです。 Windows XPのサポートが終了してから、国内のIE10のシェア率が急激に高まり、Chromeも急伸しています。 これまでどうしてもIEの古いバージョンのユーザーのことを考慮すると、完全CSS3はまだ先かなと思うところでしたが、そろそろ勉強し始めどきかもしれません。 今回はCSS3だけで動くアニメーションの簡単なサンプルを。 【デモ : DEMO】 CSS3だけでアニメーション そもそも、アニメーションといえば、 ・gif(Photoshopなどでタイムラインでコマ送り。あくまで画像なのでパラパラ漫画と同じ理論。) ・Flash(タイムラインもしくはプログラミングで制御。見るにはFlash Playerのインストールが必要。) ・jQuery(JavaScript言語を使用して動的に制御。) 時代ごとに移り変わってきましたね。 では、こんなにアニメーションは存在するのに、なんでCSS3を使いたがるの? ・gifの欠点 gifアニメーションの欠点は細かく動かすとファイル容量が大きくなります。 また、滑らかな動きには向いていません。 ・Flashの欠点 FlashはFlash Playerが必要なので、インストールしていないPCや、スマートフォンには対応していません。 ・jQueryの欠点 jQueryはプログラミング可能なので、細かく動作を指示できますが、jQueryを使用する場合、JavaScript単体とjQuery本体の組み合わせで、ファイルは大きくなります。 ここで登場するのがCSS3。以前ならマークアップ言語で動作の指示ができるなんて思ってもみませんでした。 今回の目標 ・CSSで丸や四角などの図形を描く ・CSSで回転させる ・CSSでフェードさせる 【デモ : DEMO】 CSS3だけでアニメーション ▲こんなかんじ 今回のデモのソースコードはすべてHTML内に記述してあります。 ソースコードが長いので、ここでは解説だけを記載します。 サンプルソースコードの解説 div { position: absolute !important; top: calc(50% - 100px); left...