類Graphics2D同樣提供了繪製位元影像的方法,drawImage(). 下面的例子顯示衛星地圖。衛星地圖有衛星照片和道路名稱組合而成,所選的原始映像,可以參見
| |
| http://www.mapdigit.com/guidebeemap/maptile.php?type=MICROSOFTSATELLITE&x=6&y=4&z=14 maptile_6_4.jpg |
|
| http://www.mapdigit.com/guidebeemap/maptile.php?type=GOOGLEHYBRID&x=7&y=4&z=14 maptile_7_4.png |
|
| http://www.mapdigit.com/guidebeemap/maptile.php?type=GOOGLEHYBRID&x=6&y=4&z=14 maptile_6_4.png |
|
[csharp]
private void DrawMap()
{
BitmapImage img = new BitmapImage();
img.CreateOptions = BitmapCreateOptions.None;
string path = "/SilverlightGraphics2DDemo;component/map/maptile_6_4.jpg";
Stream s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
WriteableBitmap writeableBitmap = new WriteableBitmap(img);
graphics2D.Clear(Color.White);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256, 0, 0);
path = "/SilverlightGraphics2DDemo;component/map/maptile_7_4.jpg";
s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
writeableBitmap = new WriteableBitmap(img);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256,256,0);
path = "/SilverlightGraphics2DDemo;component/map/maptile_6_4.png";
s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
writeableBitmap = new WriteableBitmap(img);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256, 0, 0);
path = "/SilverlightGraphics2DDemo;component/map/maptile_7_4.png";
s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
writeableBitmap = new WriteableBitmap(img);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256, 256, 0);
}
private void DrawMap()
{
BitmapImage img = new BitmapImage();
img.CreateOptions = BitmapCreateOptions.None;
string path = "/SilverlightGraphics2DDemo;component/map/maptile_6_4.jpg";
Stream s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
WriteableBitmap writeableBitmap = new WriteableBitmap(img);
graphics2D.Clear(Color.White);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256, 0, 0);
path = "/SilverlightGraphics2DDemo;component/map/maptile_7_4.jpg";
s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
writeableBitmap = new WriteableBitmap(img);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256,256,0);
path = "/SilverlightGraphics2DDemo;component/map/maptile_6_4.png";
s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
writeableBitmap = new WriteableBitmap(img);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256, 0, 0);
path = "/SilverlightGraphics2DDemo;component/map/maptile_7_4.png";
s = Application.GetResourceStream(new Uri(path, UriKind.Relative)).Stream;
img.SetSource(s);
writeableBitmap = new WriteableBitmap(img);
graphics2D.DrawImage(writeableBitmap.Pixels, 256, 256, 256, 0);
}
作者:mapdigit