我想從本地磁盤加載圖像文件到一個writeablebitmap圖像,所以我可以讓用戶編輯它。當我創建一個WriteableBitmap對象時,構造函數需要pixelwidth和pixelheight參數,我不知道哪裏可以得到這兩個,任何人都可以提供幫助?如何從Windows8中的圖像文件創建一個writeablebitmap圖像
2
A
回答
3
不在乎pixelWidth和pixelHeight當定義WriteableBitmap的圖像,請試試這個:如果你想有正確的像素寬度和高度
using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
WriteableBitmap image = new WriteableBitmap(1, 1);
image.SetSource(stream);
WriteableBitmapImage.Source = image;
}
3
請嘗試下面的代碼。有一個簡單的方法來執行此操作(使用BitmapImage加載圖像,然後將此對象直接傳遞給WriteableBitmap構造函數,但我不確定這是否按預期工作,或者它有性能問題,不記得) :
BitmapSource bmp = BitmapFrame.Create(
new Uri(@"C:\Users\Public\Pictures\Sample Pictures\Koala.jpg", UriKind.Relative),
BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
if (bmp.Format != PixelFormats.Bgra32)
bmp = new FormatConvertedBitmap(bmp, PixelFormats.Bgra32, null, 1);
// Just ignore the last parameter
WriteableBitmap wbmp = new WriteableBitmap(bmp.PixelWidth, bmp.PixelHeight,
kbmp.DpiX, bmp.DpiY, bmp.Format, bmp.Palette);
Int32Rect r = new Int32Rect(0, 0, bmp.PixelWidth, bmp.PixelHeight);
wbmp.Lock();
bmp.CopyPixels(r, wbmp.BackBuffer, wbmp.BackBufferStride * wbmp.PixelHeight,
wbmp.BackBufferStride);
wbmp.AddDirtyRect(r);
wbmp.Unlock();
3
,你需要加載它首先將其轉換爲BitmapImage以填充它ectly:
StorageFile storageFile =
await StorageFile.GetFileFromApplicationUriAsync("ms-appx:///myimage.png");
using (IRandomAccessStream fileStream = await storageFile.OpenAsync(FileAccessMode.Read))
{
BitmapImage bitmapImage = new BitmapImage();
await bitmapImage.SetSourceAsync(fileStream);
WriteableBitmap writeableBitmap =
new WriteableBitmap(bitmapImage.PixelWidth, bitmapImage.PixelHeight);
fileStream.Seek(0);
await writeableBitmap.SetSourceAsync(fileStream);
}
(對於WinRT的應用程序)
相關問題
- 1. 從JSON文件創建一個圖像?
- 2. PHP - 從圖像創建一個圖像
- 3. 如何在Windows8中製作一個圖像dll文件
- 4. 如何從dataURL創建圖像文件?
- 5. 創建一個從像素的圖像
- 6. 如何創建一個tabView像圖像
- 7. 如何從另一個圖像創建新圖像 - ImageMagick
- 8. PHP:如何從另一個PNG圖像創建圖像
- 9. 如何從另一幅圖像的一部分創建圖像?
- 10. 使用GD圖像文件創建一個新的Imagick圖像
- 11. 如何從資產文件夾中的圖像創建繪圖?
- 12. 如何從Android中的圖像文件創建位圖
- 13. 如何用其中的圖像創建一個文件夾PHP
- 14. (iphone)我從圖像創建一個新的圖像時,創建一個泄漏?
- 15. 從位圖圖像列表創建一個.avi文件
- 16. 使用PHP從一個圖像文件夾創建縮略圖
- 17. 如何從java中的多個tile創建一個大的圖像文件?
- 18. 從許多背景圖像中創建一個背景圖像
- 19. 如何從文本文件創建縮略圖圖像?
- 20. JavaFX從現有的圖像創建一個新的圖像
- 21. 如何從數組中的圖像源創建畫布圖像?
- 22. 如何從多個圖像創建圖像
- 23. 從較大的圖像創建一個子圖像
- 24. GIMP:從文件夾中的所有圖像文件創建圖像堆棧
- 25. 如何從圖形創建圖像?
- 26. 如何創建一個圖像數組?
- 27. 如何創建一個精靈圖像
- 28. 如何創建一個圖像陣列
- 29. 如何創建一個Django圖像庫
- 30. 從System.Drawing.Image的文件系統上創建一個新的圖像?
如何從文件加載圖像? –
通過FileOpenPicker – James
但我想你通過一個** BitmapImage **或類似的東西,然後**加載圖像**你創建一個** WriteableBitmap **,對不對? –