Voici mon code WPF <InkCanvas x:Name="inkCanvas" Margin="9,325,210,193" Background="Azure"></InkCanvas>
Et il y a un bouton Lorsque vous appuyez sur le bouton, je veux enregistrer l'image tirée dans un fichier. voici mon codeEnregistrement de l'image de InkCanvas comme fichier png ou jpeg
private void button1_Click(object sender, RoutedEventArgs e)
{
int margin = (int)inkCanvas.Margin.Left;
int width = (int)inkCanvas.ActualWidth - margin;
int height = (int)inkCanvas.ActualHeight - margin;
RenderTargetBitmap rtb = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Default);
rtb.Render(inkCanvas);
using (FileStream fs = new FileStream("path", FileMode.Create))
{
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(fs);
}
}
Mais l'image dusplayed est tout noir (whatching d'un explorateur) ou complitely blanc, si elle est ouverte dans la peinture. Que dois-je faire pour obtenir une image correctement dessinée? ty.
un coup d'oeil: http://stackoverflow.com/questions/4067448/converting-image-to-bitmap -turns-background-black j'ai eu un problème similaire mais avec winForms – Alex
@Alex ne semble pas si similaire que vous essayiez d'enregistrer un bitmap avec la transparence dans un encodeur qui ne le supportait pas, ce codeur le supporte, mais il peut être le format de pixel par défaut n'inclut pas un canal Alpha, ou il se peut que le rendu ne rende pas correctement l'arrière-plan et les vecteurs – MikeT