.NET MAUI Gallery scan

The SDK allows you to decode barcodes from image files. It supports several image formats, including BMP, PNG, and JPG.

C#
 private async void scanFromGallery(object sender, EventArgs e)
    {
        // Ensure the media plugin is initialized
        await CrossMedia.Current.Initialize();

        if (!CrossMedia.Current.IsPickPhotoSupported)
        {
            // Gallery picking is not supported on this device
            await DisplayAlert("Error", "Gallery picking is not supported on this device.", "OK");
            return;
        }

        // Pick an image from the gallery
        var mediaFile = await CrossMedia.Current.PickPhotoAsync(new PickMediaOptions
        {
            PhotoSize = PhotoSize.Medium,
        });

        if (mediaFile == null)
            return; // User canceled

        using (var memoryStream = new MemoryStream())
        {
            await mediaFile.GetStream().CopyToAsync(memoryStream);
            byte[] imageBytes = memoryStream.ToArray();
            string base64String = Convert.ToBase64String(imageBytes);

            BKDView.ScanImage(base64String, this);
        }
    }