1. 加入WIndowForm元件。
// Add ref System.Drawing
// System.Windows.Forms
2. 加入html2bitmap方法
public System.Drawing.Bitmap SaveWebPage2Image(string url)
{
// Load the webpage into a WebBrowser control
System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser();
wb.ScrollBarsEnabled = false;
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);
while (wb.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete) { System.Windows.Forms.Application.DoEvents(); }
// Take Screenshot of the web pages full width
wb.Width = wb.Document.Body.ScrollRectangle.Width;
// Take Screenshot of the web pages full height
wb.Height = wb.Document.Body.ScrollRectangle.Height;
// Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(wb.Width, wb.Height);
wb.DrawToBitmap(bitmap, new System.Drawing.Rectangle(0, 0, wb.Width, wb.Height));
wb.Dispose();
return bitmap;
}
3. 初始設定
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//convert System.Drawing.Image to WPF image
System.Drawing.Bitmap bmp = SaveWebPage2Image(@"http://maps.googleapis.com/maps/api/streetview?size=600x300&location=25.080067,121.397699&heading=300&fov=90&pitch=-10&sensor=false");
IntPtr hBitmap = bmp.GetHbitmap();
System.Windows.Media.ImageSource WpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
im.Source = WpfBitmap;
}
4. MouseUp Event 改辦視角
int angle1 = 120;
private void Window_MouseUp(object sender, MouseButtonEventArgs e)
{
angle1 += 20;
this.Title = "Headingangle : " + angle1.ToString();
System.Drawing.Bitmap bmp = SaveWebPage2Image(@"http://maps.googleapis.com/maps/api/streetview?size=600x300&location=25.080067,121.397699&heading=" + angle1.ToString() + @"&fov=90&pitch=-10&sensor=false");
IntPtr hBitmap = bmp.GetHbitmap();
System.Windows.Media.ImageSource WpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
im.Source = WpfBitmap;
}
}
}
5. 下載
沒有留言:
張貼留言