連載:Silverlight 3実践プログラミング

SaveFileDialogとBitmap API

シグマコンサルティング 菅原 英治
2009/10/20
Page1 Page2

 みなさん、こんにちは。本連載では、Silverlight 3の新機能について、その場で実行可能なサンプルと、そのコードを示しながら解説しています。前回は、ナビゲーション・フレームワークとChildWindowコントロールについて解説しました。連載第2回目となる今回は、次の2点について解説します。

【本稿で解説するSilverlight 3の新機能】

(1)SaveFileDialog
(2)Bitmap API

 本稿では、これらの機能を利用して、画像(ビットマップ)ファイルを保存できる落書きアプリ(=アプリケーション)をご紹介します。また、そのアプリのコードを解説することで、SaveFileDialogとBitmap API、それぞれの機能についても解説します。

 なお今回のサンプル・アプリは、次の記事で紹介されているアプリを参考に作成しました。次の記事では、Silverlightによる落書きアプリの作成方法が詳しく紹介されていますので、ぜひ本稿と併せてご覧ください。

 本連載の対象読者としては、.NETでの開発経験があり、かつSilverlight 2アプリの開発についてある程度の知識がある方を前提に考えています。また、本稿では、次の開発環境を前提としています。

【本稿で前提とする開発環境】

 それではさっそく始めましょう! まずはSaveFileDialogとBitmap APIを利用したサンプル・アプリを実際に動かしてみましょう。

【コラム】Microsoft Silverlight 3オフライン・ドキュメント

 現在、Microsoft Silverlight 3 オフライン ドキュメントをダウンロードすることができます(オンライン版はこちら)。

 このドキュメントですが、そのドキュメント上でSilverlightのサンプルが動作するという非常に画期的なものです。Silverlightアプリ開発時にとても役立ちますので、ぜひダウンロードしてください。

サンプルを動かしてみよう

 まずは今回のサンプルである落書きアプリを動かしてみましょう(※サンプルを動作させるためには、「Silverlightプラグインのインストール」が必要です)。

Microsoft Silverlight を入手
SaveFileDialogとBitmap APIを利用したサンプル
落書きを画像ファイルに保存できるSilverlight 3アプリケーション。
  [画像を選択]ボタンをクリックし、画像(.jpgまたは.png)ファイルを読み込む。
  読み込んだ画像には、マウスのドラッグで落書きできる。
  [落書きを保存]ボタンをクリックすると、ビットマップ(.bmp)ファイルとして保存できる。

 まずはサンプル・アプリケーションの[画像を選択]ボタンをクリックします。[開く]ダイアログが表示されますので、ローカルにあるお手持ちの画像(.jpgまたは.png)ファイルを選択してください。画像が正しく読み込まれると、アプリには選択した画像が表示されます。

 続いて表示された画像上で、マウスをドラッグします。これにより黒い線を描くことができます。好きなように落書きをしてみてください。

 最後に、[落書きを保存]ボタンをクリックします。すると[名前を付けて保存]ダイアログが表示されますので、ファイル名を入力して保存できます。落書きをした画像はビットマップ(.bmp)ファイルとして保存されます。

 うまく落書きを保存することができたでしょうか。[落書きを保存]ボタンをクリックしてファイルを保存するまでの処理こそが、SaveFileDialogとBitmap APIを利用して実現されています。それでは、その処理を中心にコードを解説していきましょう。


 INDEX
  連載:Silverlight 3実践プログラミング 
  SaveFileDialogとBitmap API
  1.SaveFileDialogとBitmap APIを利用したサンプル
    2.サンプル・アプリのソース・コード解説

インデックス・ページヘ  「Silverlight 3実践プログラミング」

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

.NET開発者中心に生まれ変わりました

.NET開発者中心コーナー

- PR -

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH