2016-10-04 5 views
1

にImageBrushを変換するにはどうすれば私はC#コードでのPictureBoxまたはImageまたはビットマップに変換したい+ファイルに保存したいことをペイントし終えた後、今描いたキャンバスは画像

<Canvas Grid.Row="1" Name="PaintCanvas" MouseDown="PaintCanvas_MouseDown" MouseUp="PaintCanvas_MouseUp" MouseMove="PaintCanvas_MouseMove"> 
     <Canvas.Background> 
      <ImageBrush ImageSource="/MyNoteBook;component/Images/LinnedPage.png"/> 
     </Canvas.Background> 

を作成しました

どうすればいいですか?

はすでに

ImageBrush picture = (ImageBrush)PaintCanvas.Background; 
Image a = (Image)picture; 
System.Drawing.Bitmap btmap = (System.Drawing.Bitmap)picture; 

私はstackoverflowの上やGoogle で見つかったすべてのものを試してみました

コードを以下試してみてください事前

答えて

1
ImageBrush b = (ImageBrush)PaintCanvas.Background; 
BitmapSource src = (BitmapSource)b.ImageSource; 

string path = @"g:\myimg-name.jpg"; 
using (FileStream fs1 = new FileStream(path, FileMode.OpenOrCreate)) 
{ 
    BitmapFrame frame = BitmapFrame.Create(src); 

    JpegBitmapEncoder enc = new JpegBitmapEncoder(); 
    enc.Frames.Add(frame); 
    enc.Save(fs1); 
} 
+0

は助けない取得、私を助けました。 com/image/43adfa4708ba4568b89a8755b348b294.png –

+0

あなたは私の2番目の質問に答えます それを使用する画像を取得してください(コードを画像に変換する方法を見つけました) ty –

+0

@AsafShazar別の質問としてあなたの質問をしてください、私はそれに答えるしようとします。 – AnjumSKhan

2

にありがとうimageBrushする画像から変換されています。それはあなたを助けるかもしれません。 //image.prntscr:

if (((Grid)sender).Children.Count > 0) 
     { 
      gridBackground = (ImageBrush)(((Grid)sender).Background); 
      System.Windows.Controls.Image gridBackImage = new System.Windows.Controls.Image(); 
      gridBackImage.Source = gridBackground.ImageSource; 

      ImageCar.Source = gridBackImage.Source; 
     } 
+0

Srryはここにいない HTTPを見るように、それが唯一の私が を描いた背景画像となしのものを保存 、 はまだカントは、画像 –