Генерация QR-кода из карты .vcf/визитной карточки в C# Windows phone 8.1

Я создал визитную карточку / визитную карточку. Мне нужно создать QR-код из этой Vcard. когда пользователь сканирует QR-код, затем отображается опция сохранения этой визитной карточки в списке контактов. Я могу генерировать QR-код из строки, но я не знаю, как генерировать QR-код StorageFile/Vcard.

Вот мой код.

 protected async override void OnNavigatedTo(NavigationEventArgs e)
    {
        vcard = e.Parameter as StorageFile;



        IBarcodeWriter writer = new BarcodeWriter
        {
            Format = BarcodeFormat.QR_CODE,
            Options = new ZXing.Common.EncodingOptions
            {
                Height = 300,
                Width = 300
            }
        };


        var result2 = vcard;

     //  Result2 contain vcard. but writer.Write()   need string formate.

       // below commented line display error. because result2 is not string 
       // var result = writer.Write(result2);


        var result = writer.Write(result2.ToString());


        var wb = result.ToBitmap() as WriteableBitmap;

        //add to image component
        bar_image.Source = wb;
  }

введите здесь описание изображения


person Arsal    schedule 11.04.2016    source источник
comment
Если только вы не найдете себе библиотеку vCard для чтения в информации, вам придется открывать файл и расшифровывать его самостоятельно. Несколько полезных ссылок: en.wikipedia.org/wiki/VCard   -  person Chubosaurus Software    schedule 12.04.2016
comment
Я создал эту Vcard самостоятельно. Теперь я хочу сгенерировать QR-код этой VCard. выше ссылка для создания VCard.   -  person Arsal    schedule 12.04.2016
comment
Вы можете добавить контактную информацию, такую ​​​​как имя, адрес электронной почты и т. Д., Из Vcard в одну строку и передать ее функции записи.   -  person Archana    schedule 12.04.2016
comment
да, я сделал это, QR-код, сгенерированный этим ... но когда пользователь сканирует этот QR-код, все данные отображаются в виде строки. Не как Vcard.   -  person Arsal    schedule 12.04.2016
comment
@ChubosaurusSoftware, не могли бы вы помочь мне с этим вопросом? stackoverflow.com/questions/43122189/   -  person Arsal    schedule 30.03.2017


Ответы (1)


См. этот проект на GitHub: QrCoder.

Согласно Wiki проекта можно генерировать QR-коды для vCard и выполнять ряд других требований. Для vCard QrCoder требуется всего около 6 строк кода:

-- Дословно скопировано из Вики:

ContactData generator = new ContactData(ContactData.ContactOutputType.VCard3, "John", "Doe");
string payload = generator.ToString();


QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode(payload, QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
var qrCodeAsBitmap = qrCode.GetGraphic(20);
person Community    schedule 25.03.2019