私はxamarin.formsのPCLプロジェクトでXamSVGライブラリを使用してImageSourceまたはFileImageSourceに変換できるsvg xmlを持っています。xamarin.formsイメージソースからバイト配列を取得
ImageSource/FileImageSourceを(ビットマップを取得するために)バイト配列に変換したいと考えています。
これは可能ですか?
私はxamarin.formsのPCLプロジェクトでXamSVGライブラリを使用してImageSourceまたはFileImageSourceに変換できるsvg xmlを持っています。xamarin.formsイメージソースからバイト配列を取得
ImageSource/FileImageSourceを(ビットマップを取得するために)バイト配列に変換したいと考えています。
これは可能ですか?
解決策が見つかりました!
StreamImageSource streamImageSource = (StreamImageSource) some image source...
System.Threading.CancellationToken cancellationToken = System.Threading.CancellationToken.None;
Task<Stream> task = streamImageSource.Stream(cancellationToken);
Stream stream = task.Result;
と "a"とは何ですか? (3行目) – zuckerthoben
はstreamImageSourceです – asaf
私はそれを試してみました: "タイプ 'Xamarin.Forms.FileImageSource'のオブジェクトを 'Xamarin.Forms.StreamImageSource'にタイプできません。 – zuckerthoben
その他のソリューション:
public static byte[] ReadFully(Stream input)
{
using (MemoryStream ms = new MemoryStream())
{
input.CopyTo(ms);
return ms.ToArray();
}
}
ストリームとのMemoryStreamは、System.IOクラスです。
次に、このようにそれを使用します。
byte[] TargetImageByte = ReadFully(_data.Source);
_data.sourceはMediaFileがタイプです。
https://stackoverflow.com/questions/27532462/is-there-a-cross-platform-solution-to-imagesource-to-byte/27532867#27532867 –
このリンクは私が必要なものではありません私はカメラを使用していません。私が持っているのはimagesourceの画像です。ビットマップ(バイト配列)を取得したいのですが – asaf