2013-02-28 82 views
0

我想要合併兩個圖像,一個圖像是300x300,另一個是100x100,首先我創建了一個畫布,然後創建了兩個圖像,我添加了到這兩個圖像到畫布和畫布被添加到內容面板,然後我創建了一個writeablebitmap並呈現畫布並創建了一個方法savejpeg它將圖像保存到isolated stoarage,但孤立的存儲不顯示整個圖像它保存一個黑色屏幕。如何在Windows Phone中合併兩個圖像並將其保存到獨立存儲器

首先我創建畫布通過代碼設置其高度寬度和背景顏色然後我創建兩個圖像編程我已經添加到畫布然後畫布加到contentpanel

我的代碼是:

public void CreateImage() 
    { 

     Canvas canvas = new Canvas(); 
     canvas.Height = 400; 
     canvas.Width = 400; 
     canvas.Background = new SolidColorBrush(Colors.Red); 

     Image img1 = new Image(); 
     img1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("Image/Desert.jpg"); 
     img1.Height = 300; 
     img1.Width = 300; 
     img1.Margin = new Thickness(0, 10, 0, 0); 

     Image img2 = new Image(); 
     img2.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("Image/Jellyfish.jpg"); 
     img2.Height = 50; 
     img2.Width = 50; 
     img2.Margin=new Thickness(0,10,300,0); 


     canvas.Children.Add(img1); 
     canvas.Children.Add(img2); 
     ContentPanel.Children.Add(canvas); 

     WriteableBitmap wb = new WriteableBitmap(400, 400); 
     wb.Render(canvas, new MatrixTransform()); 
     MemoryStream ms = new MemoryStream(); 


     wb.SaveJpeg(ms,400,400,0,100); 

     using (var isoFileStream = new IsolatedStorageFileStream("myPicture.jpg", FileMode.OpenOrCreate, IsolatedStorageFile.GetUserStoreForApplication())) 
     { 
      wb.SaveJpeg(isoFileStream, 400, 400, 0, 100); 
     } 

    } 

當我保存圖像,然後我得到孤立存儲中的黑色屏幕。 如何將兩個圖像保存在畫布上?

回答

0

請檢查您獲取圖像的天氣或不是圖像源。如果你正在獲得圖像;嘗試使用此方法從控制中獲取快照並將其保存到Iso存儲區。

http://stackoverflow.com/questions/13837148/how-can-i-take-a-screenshot-full/13990649#13990649 
+0

我現在我的代碼是: – sonia 2013-02-28 11:24:05

+0

@sonia:你是什麼意思? – 2013-02-28 12:31:42

+0

我正在使用這種方法,並將我的畫布傳遞給它總線同樣的錯誤即將到來,只有我的畫布顯示在屏幕上 – sonia 2013-03-01 04:30:24

3

就像史蒂芬說的,我認爲你沒有得到你的來源形象。我以任何方式爲您創建了一個示例應用程序。在這裏你可以找到兩個分區,你可以通過雙擊容器來添加圖像。之後,嘗試保存並檢查您保存的圖像。我測試了應用程序,每件事都爲我工作。如果您遇到任何問題,請發表評論。

https://www.dropbox.com/s/1vjbbou96w0r15r/SaveImageApp.zip

+0

你提供的示例在我的系統中沒有打開,我認爲你已經在VS2008發展,我有vs2010 – sonia 2013-03-04 13:25:59

+0

不,你錯了。我在VS 2012中創建了這個示例,因此無法在VS 2008中開發適用於Windows Phone 7的應用程序。我不打算在VS2010中爲您創建示例。你可以簡單地重用我在那裏提供的類和xaml。只有從庫中獲取圖像的擴展方法不起作用。所有其他方法將完美地工作。不要相信我們在這裏爲你寫代碼。請花費一點努力找到解決方案。 – 2013-03-04 14:04:47

+0

好okthanku這麼多 – sonia 2013-03-04 15:40:47

相關問題