Il semble qu'il y ait un bug vraiment ennuyeux dans WriteableBitmap pour Silverlight pour Windows Phone. J'ai le code suivant et le xaml :
public partial class MainPage : PhoneApplicationPage
{
CompositeTransform rotate = new CompositeTransform();
public MainPage()
{
InitializeComponent();
}
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
this.rotate.Rotation += 15;
WriteableBitmap bmp = new WriteableBitmap(this.button, rotate);
this.image.Source = bmp;
Dispatcher.BeginInvoke(() => Debug.WriteLine("{0}, {1}", bmp.PixelWidth, bmp.PixelHeight));
}
}
Voici le xaml :
Lorsque vous cliquez sur le bouton du bas, le bouton du haut est rendu avec le writeable bitmap en utilisant la transformation composite. Après chaque rendu, l'image résultante du bouton du haut est plus grande que la précédente. De plus, les valeurs des propriétés PixelWith et PixelHeight du writeable bitmap diffèrent considérablement de RenderSize de l'objet Image. Est-ce que quelqu'un a une idée de ce qui se passe ?