由於你使用PCL就可以實現這通過使用我創建界面下方並登記其與Xamarin DependencyService
我提供的方法從一個URIImageSource得到字節 & FileImageSource
在您的PCL項目
private void ABCDEFGHIJKLMNOPQRSTUVWXYZ(){
var link = new Uri("https://xamarin.com/content/images/pages/forms/example-app.png");
var goNative = DependencyService.Get<IStackoverflow>();
var bytes = goNative.GetImageBytes(link); // Your Bytes As Requested
}
public interface IStackoverflow // Create A Interface To Access Platform Spefice
{
byte[] GetImageBytes(string filepath);
byte[] GetImageBytes(Uri uri);
}
在你的本地項目確保您繼承從上面的界面
如果你不訪問它從你PCL項目則
的ImagePath = Resources.GetDrawable(Resource.Drawable.triangles.bmp) ;
public byte[] GetImageBytes(string imagePath)
{
var fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
var buffer = new byte[fileStream.Length];
fileStream.Read(buffer, 0, (int)fileStream.Length);
fileStream.Close();
return buffer;
}
public byte[] GetImageBytes(Uri uri)
{
var myWebClient = new WebClient();
return myWebClient.DownloadData(uri);
}
如果你不熟悉Xamarin DependencyService這裏是他們的文檔 Xamarin DependencyService
您可以直接從磁盤讀入一個byte []。但Image控件不提供任何訪問其內部圖像數據的機制。 – Jason
@Jason好,然後我會從磁盤讀取它。如何才能做到這一點?我一直在尋找文學上的小時,卻一無所獲。 Plase給出一個代碼片段 – Gulzar
您使用的是PCL還是共享項目?你的圖像存儲在哪裏?它是應用程序包的一部分,還是照相機圖像等? – Jason