Welcome to MSDN Blogs Sign in | Join | Help

PowerPointプレゼンテーションと同様のことをSilverlightでやってみる

詳細はゆくゆく紹介していこうと思いますが、現在、とあるプロジェクトで、PowerPointのプレゼンテーションと同様なことをSilverlight 1.0で実行するというアプリケーションを作っています。

プレゼンテーションのファイル内容を分析して・・・などと難しいことは考えず、スライドで動きがないところは、Imageで静止画像を利用し、ビデオが必要なところはMediaElementで、スライド切り替わりやアニメーションはStoryboardでというシンプルな構造でやっています。これがやってみると結構面白いもので、ブラウザの全画面表示にすると、もはやSilverlightで実行しているように見えないのも面白いです。

似たようなことにチャレンジする方がいるかもしれないので、次のような作業が可能であることを知っておくと、時間を短縮できるでしょう。

(1)PowerPointプレゼンテーションの再利用

・すべてのスライドは、JPEGあるいはPNG形式でエクスポートできる(PowerPoint 2007だと960x720の解像度になる)
・プレゼンテーション内の日本語をコピーして、Expression Blend 2に貼り付けて、TextBlockをPathに変換することができる
・日本語部分のコピーをする際に、貼り付け直後に半角の文字を入れると消える確率が下がる
・複数の色を用いているリッチテキストは、色別にコピーする方がよい(TextをPathに変えると色情報がなくなるから)
・図の部分は、[図の保存]から静止画にするか、コピーした上で、Expression Designに貼り付けてXAMLをエクスポートする際にできあがる静止画を利用して使う(この際に、出来上がった画像ファイルを使い、XAMLそのものは使わない)

(2)単純なアニメーションの再現

・フェードインするようなものは、Opacityプロパティを0%から100%の間で変化するStoryboardを作ると簡単

(3)クリッカブルエリアの作成

・複数のオブジェクトを含む領域全体としてイベントを拾う場合、Canvasでグループ化し、Canvas内のオブジェクトは、個別にIsHitTestVisible=falseと設定して、event bubblingを避ける
・マウスイベントに反応するエリアは、CanvasのFillプロパティで黒色などを選択しておき、アルファ値を0にして、透明でイベントに反応する場所を作る

・・・

単純に作ると、1つのXAMLファイルと1つのJavaScriptの中で作業を完結できると思います。ゆくゆくサンプルのひとつとして公開したいと思います。

Published Wednesday, March 19, 2008 9:40 PM by aonishi

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker