请帮助我,
我无法看到生成的QR码图片。我做错了什么!
我使用过Xamarin Forms。我简单地在StackLayout中使用了一个Image来填充
public class BarcodePage : ContentPage
{
public BarcodePage ()
{
Image img = new Image {
Aspect = Xamarin.Forms.Aspect.AspectFit
};
img.Source = ImageSource.FromStream (() => {
var writer = new BarcodeWriter {
Format = BarcodeFormat.QR_CODE,
Options = new EncodingOptions {
Height = 200,
Width = 600
}
};
var bitmap = writer.Write ("My Content");
MemoryStream ms = new MemoryStream ();
bitmap.Compress (Bitmap.CompressFormat.Jpeg, 100, ms);
return ms;
});
var Layout = new StackLayout {
Children =
{ img}
};
Content = Layout;
}
答案 0 :(得分:1)
当您使用MemoryStream
方法将位图数据写入Compress()
时,当您返回时,流的位置将在结尾处。
确保在返回之前重置流的位置,方法是添加此行。
ms.Position = 0;
Image
现在将从头开始而不是从结尾读取流。