連載: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実践プログラミング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH