Ich habe vor Bilder vom Internet auf das Silverlight (version 4) Steuerelement Image anzeigen zu lassen.
Bildbeispiel(Internetpfad) http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg
Hinweis!! Wenn Sie auf diesen Link klicken kommt im neuen Fenster eine Fehlermeldung. Im neuen Fenster muss aktualisiert werden damit das Bild angezeigt wird.
Codebeispiel
//image1 wurde initialisiert.
image1.Source = new BitmapImage(
new Uri("http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg"));//, UriKind.RelativeOrAbsolute));
Funktioniert nicht.
Gibt es eine Möglichkeit Bilder vom Internet auf das Image anzeigen zu lassen?
Hallo MXP,
versuch es doch mal über ein BitmapDecoder:
private void GetWebImage(Image image, Uri webUri)
{
BitmapDecoder bDecoder = BitmapDecoder.Create(
webUri,
BitmapCreateOptions.PreservePixelFormat,
BitmapCacheOption.None);
if (bDecoder != null && bDecoder.Frames.Count > 0)
image.Source = bDecoder.Frames[0];
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
GetWebImage(image1, new Uri("http://www.ebsi.te/abc123.jpg";));
}
Dein Beispiel hab ich versucht. Funktioniert nicht.
BitmapDecoder ,PreservePixelFormat und BitmapCacheOption wird in Silverlight 4 nicht unterstützt glaube ich.
Gibt es ein ähnliches Beispiel mit Silverlight 4?
Hi,
mein Fehler.
Dir fehlt eine Konvertierung:
ImageSource imgS = new BitmapImage(
new Uri("http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg", UriKind.RelativeOrAbsolute));
image.SetValue(Image.SourceProperty, imgS);
//bzw. müsste auch gehen:
image.Source = imgS;
http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg
bzw.
image1.Source = new BitmapImage(new Uri("http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg", UriKind.RelativeOrAbsolute));
dieses Bild wird nicht im silverlight 4.0 angezeigt, aber im internet explorer wird es dargestellt.
image1.Source = new BitmapImage(new Uri("http://www.my-blueplanet.net/attachments/Image/auto.jpg", UriKind.RelativeOrAbsolute));
Dieses Beispiel funktioniert auch im Silverlight 4.0.
Kann sein das dass jpg, irgendwas hat?
Hallo,
fürs erste Bild sind Logindaten nötig für den Webserver. Wahrscheinlich hast du im Browser das entsprechende Cockie und es wird angezeigt. In Silverlight hast du es natürlich nicht automatisch.
Baka wa shinanakya naoranai.
Mein XING Profil.
bei der webseite hab ich kein login.
Da brauchst nur den Pfad oben in der leiste(internet explorer) reinkopieren.
Weitere Möglichkeit: ?
Bild:
http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg
Kann man dieses Bild herunterladen, auf einem Stream speichern und dann diese auf den Image Steuerelement anzeigen lassen? Das ganze mit Silverlight 4.
Wenn ja, dann am besten mit einem Code Beispiel.
Hallo,
Stimmt, 401 kommt wenn Login nötig ist, daher war meine Annahme mit dem Login wohl nicht richtig. Ich bekomm sowohl beim IE als auch FF ne 403, Forbidden. 403 kommt wenn man nicht auf die Ressource zugreifen darf. Wenns mal kommt, und mal nicht, wird ich auf Fehlkonfiguration des Servers tippen.
Baka wa shinanakya naoranai.
Mein XING Profil.
bei mir funktioniert das schon.
http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg
und dann beim ie auf aktualisieren klicken.
Ich hab inetwa Stück code, was ich oben gepostet habe mit einem Image Control in Silverlight 4 probiert und das Bild wurde angezeigt. Browser ist dabei Chrome gewesen. Ich hab Uri = Absolute genommen vlt wirkt sich das noch aus.
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace SilverlightApplication2
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
Image image = new Image();
Uri uri = new Uri("http://www.einfach-persoenlich.de/photoblog/bilder/netz-auge.jpg", UriKind.Absolute);
ImageSource img = new System.Windows.Media.Imaging.BitmapImage(uri);
image.SetValue(Image.SourceProperty, img);
image1.Source = image.Source;
}
}
}
<UserControl x:Class="SilverlightApplication2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White" Loaded="LayoutRoot_Loaded">
<Image Height="150" HorizontalAlignment="Left" Margin="60,98,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="200" />
</Grid>
</UserControl>