« 単色で塗りつぶすSolidColorBrush | トップページ | グラデーションで塗りつぶすLinearGradiendBrushとRadialGradientBrush »

2008/02/15

画像で塗りつぶすImageBrush

次は図形内を画像で塗りつぶすブラシ ImageBrushです。まずは、ImageBrushのサンプルからどうぞ。

http://www.makoto3.net/xaml/silverlight0037/index.html

XAMLのソースは次のとおりです。

【myxaml.xaml】

<Canvas
   xmlns="http://schemas.microsoft.com/client/2007"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 <Path StrokeThickness="10" Stroke="#FF0088FF" Data="M70,110 L150,110 150,70 230,150 150,230 150,190 70,190 z">
  <Path.Fill>
    <ImageBrush ImageSource="sea01.jpg"/>
  </Path.Fill>
 </Path>
</Canvas>

書き方は、先のSolidColorBrushと同じです。画像ファイルのurlは<ImageBrush>タグのImageSource属性に指定します。このサンプルでは、XAMLファイルと同じディレクトリに画像を置いてあるので、画像ファイルのみを指定してあります。

なお、ImageBrushには、Stretchという属性が用意されていて、指定によって次のような違いがあります。

Stretch属性の値

意味

None

画像をオリジナルサイズのまま表示します。

Uniform

画像全体が図形内にすべて表示されるように自動的にサイズを調整します。オリジナルの縦横比率は保たれます。

UniformToFill

画像の縦または横が図形にぴったり合うようにサイズを調整します。画像の縦横比率は保たれます。

Fill

画像の縦と横を図形に合うように自動的に調整します。画像の縦横比率は保たれません。

せっかくなので、Stretchの指定によって画像がどう変化するかを確認するサンプルも作ってみました。

http://www.makoto3.net/xaml/silverlight0046/index.html

画像をクリックするとStretchの値が順番に切り替わりますので、試してみてください。

JavaScriptでSilverlight 目次


このページは xfy Blog Editor  を利用して作成されました。

« 単色で塗りつぶすSolidColorBrush | トップページ | グラデーションで塗りつぶすLinearGradiendBrushとRadialGradientBrush »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/39246/40123408

この記事へのトラックバック一覧です: 画像で塗りつぶすImageBrush:

« 単色で塗りつぶすSolidColorBrush | トップページ | グラデーションで塗りつぶすLinearGradiendBrushとRadialGradientBrush »

2009年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

最近のトラックバック