QR kodu oluşturmak için ZXing kullanıyorum. ,ZXing'de bitmap'in boyutu nasıl ayarlanır?
<StackLayout Padding="20,30,20,30">
<Label Text="..." FontSize="Medium "/>
<Frame VerticalOptions="CenterAndExpand">
<Image x:Name="qrImage" WidthRequest="300" />
</Frame>
...
</StackLayout>
sorundur:
public partial class QRPage : ContentPage
{
public QRPage()
{
InitializeComponent();
var stream = DependencyService.Get<IBarcodeService>().ConvertImageStream("nika");
qrImage.Source = ImageSource.FromStream(() => { return stream; });
qrImage.HeightRequest = 200;
}
}
Ve diğer kısmı:
İşte[assembly: Xamarin.Forms.Dependency(typeof(BarcodeService))]
namespace MyApp.Droid
{
public class BarcodeService : IBarcodeService
{
public Stream ConvertImageStream(string text, int width = 500, int height = 500)
{
var barcodeWriter = new ZXing.Mobile.BarcodeWriter
{
Format = ZXing.BarcodeFormat.QR_CODE,
Options = new ZXing.Common.EncodingOptions
{
Width = width,
Height = height,
Margin = 2
}
};
barcodeWriter.Renderer = new ZXing.Mobile.BitmapRenderer();
var bitmap = barcodeWriter.Write(text);
var stream = new MemoryStream();
bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, stream);
stream.Position = 0;
return stream;
}
}
}
Ben kodu kullanıyorum xaml olan bu benim kod neye benzediği ConvertImageStream
için yükseklik ve genişlik olarak ne olursa olsun sonuçta ortaya çıkan görüntü karesi değil, bunun yerine şu şekilde görünür:
Bunu kareye nasıl dönüştürebilirim? Şimdiden teşekkürler.
o benim app ne yayınlanmıştır benziyor neden herhangi bir öneri ve
BackgroundColor
değiştirme? – nicks@NikaGamkrelidze Sorunuzdaki bu sayfa için xaml (veya kodunuzu) gönderebilir ya da aynı sonucu kendim alıp alamayacağımı görmek için ilk önce cevabımdaki sayfa kodunu deneyebilirsiniz ... – SushiHangover
lütfen XAML kodu için düzenlemeye bakın – nicks