WPF bind baidu Image
阿新 • • 發佈:2018-03-26
ati request mage alignment pre pos read using name as there baidu image has protect refer from other site to use.
need download i use request header add referer:http://www.baidu.com
<Window x:Class="WpfApplication1.WindMsg"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindMsg" Height="300" Width="300" Closing="Window_Closing" Loaded="Window_Loaded"> <Grid> <Image Name="img" Stretch="Uniform" Source="{Binding BitmapImg}"/> <Button Content="{Binding Text}" Height="65" HorizontalAlignment="Left" Margin="58,48,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" /> </Grid></Window>
public WindMsg() { InitializeComponent(); d = new ImageData() { Url = "http://img0.imgtn.bdimg.com/it/u=3028557787,2951839071&fm=15&gp=0.jpg", Text = "test button text" }; this.DataContext = d; } ImageData d; public class ImageData { public string Url { get; set; } public string Text { get; set; } public ImageSource BitmapImg { get { return GetImageData(); } set { } } BitmapImage GetImageData() { using (WebClient wc = new WebClient()) { wc.Headers.Add("Referer", "http://www.baidu.com"); Stream stream = wc.OpenRead(Url); BitmapImage b = new BitmapImage(); b.BeginInit(); b.StreamSource = stream; b.EndInit(); return b; } } }
WPF bind baidu Image