是否可以將一個WriteableBitmap
數組作爲整體保存到磁盤上的一個文件中,並將其作爲一個整體進行檢索?將一個WriteableBitmap數組保存到文件
0
A
回答
2
在保存之前,您需要將WriteableBitmap的輸出編碼爲可識別的圖像格式,例如PNG或JPG,否則它只是文件中的字節。看看支持PNG,JPG,BMP和GIF格式的ImageTools(http://imagetools.codeplex.com/)。有一個將圖像保存到文件http://imagetools.codeplex.com/wikipage?title=Write%20the%20content%20of%20a%20canvas%20to%20a%20file&referringTitle=Home的示例。
0
您可以從WritableBitmap中檢索字節數組。並且該數組可以保存並讀取到文件中。像這樣的東西;
WritableBitmap[] bitmaps;
// Compute total size of bitmaps in bytes + size of metadata headers
int totalSize = bitmaps.Sum(b => b.BackBufferStride * b.Height) + bitmaps.Length * 4;
var bitmapData = new byte[totalSize];
for (int i = 0, offset = 0; i < bitmaps.Length; i++)
{
bitmaps[i].Lock();
// Apppend header with bitmap size
int size = bitmaps[i].BackBufferStride * bitmaps[i].Height;
byte[] sizeBytes = BitConverter.GetBytes(size);
Buffer.BlockCopy(sizeBytes, 0, bitmapData, offset, 4);
offset += 4;
// Append bitmap content
Marshal.Copy(bitmaps[i].BackBuffer, bitmapData, offset, size);
offset += size;
bitmaps[i].Unlock();
}
// Save bitmapDat to file.
和從文件讀取類似。
UPD。添加了位圖大小的標題。沒有它們,將很難從單個字節數組中讀取單獨的位圖。
相關問題
- 1. 保存WriteableBitmap的到文件使用WPF
- 2. C#將一個數組列表保存到一個文件?
- 3. 將WriteableBitmap保存爲PNG
- 4. WinRT:如何將WriteableBitmap保存到本地文件夾
- 5. 保存WriteableBitmap
- 6. 將一個像素數組保存到文件中
- 7. 將字節數組保存到文件
- 8. 如何將數組保存到文件
- 9. 將數組保存到xls文件中
- 10. Python3.6 - 將大數組保存到文件
- 11. 將文本保存到一個文件
- 12. 分離一個元組並將其保存到一個文件
- 13. 將formCollection值保存到一個數組
- 14. 代碼僅將一行文本文件保存到數組中
- 15. 在Matlab中將多個數組保存到文本文件中
- 16. 如何將文件保存到組件
- 17. 如何將writeablebitmap的一部分複製到另一個writeablebitmap?
- 18. 將一個可變文件保存到一個文件夾中
- 19. FFmpeg輸出到一個數組而不保存到文件
- 20. 將文本數據保存到數組
- 21. 將numpy數組保存到一行文件中?
- 22. 將一組文件保存到更大的文件
- 23. 將數組的數組保存到文件[ios]
- 24. 在silverlight中將writeablebitmap保存爲JPG
- 25. 將.txt複製到int數組,然後保存到另一個文件
- 26. 將多個數組保存到列名爲csv的文件中
- 27. 解析簡單數組,並將其保存在一個文件
- 28. 將一個目錄列表保存到一個文本文件
- 29. 將多個文件類型保存到一個文件中
- 30. 將一個文件保存到兩個文件夾
WinRT,WPF,Silverlight? – Denis
@Denis我對WinRT感興趣,但如果你知道的話,我也會對WPF感興趣。 – P5music