C++ Builder: преобразование и распечатка растрового изображения

Я создаю приложение на Android с помощью C++ Builder, и мне нужно распечатать (не отображать на экране) уже созданное растровое изображение. Для распечатки я использую "Классическое базовое приложение Bluetooth", которое предлагает Embarcadero. Для преобразования я использую этот код:

#include "System.NetEncoding.hpp"

TMemoryStream *ms;
TStringStream *ss;
String s;
UnicodeString result;

ms = new TMemoryStream();
ss = new TStringStream();
bmpResult->SaveToStream(ms);
ms->Position = 0;
EncodeStream(ms, ss);
s = ss->DataString;
ms->Free();
ss->Free();
result = s;
return result;

Он возвращает мне строку base64, поэтому я могу передать ее в функции печати, но он распечатает всю строку, и мне нужно растровое изображение (само изображение).

Как мне это сделать?

ИЗМЕНИТЬ:

Код, который я использую для взаимодействия с принтером:

  TBytes ToSend;
  if((FSocket == NULL) || (ItemIndex != ComboBoxPaired->ItemIndex)) {
      if(ComboBoxPaired->ItemIndex > -1) {
          TBluetoothDevice * LDevice = FPairedDevices->Items[ComboBoxPaired->ItemIndex];
          FSocket = LDevice->CreateClientSocket(StringToGUID(ServiceGUI), false);
          if(FSocket != NULL) {
              ItemIndex = ComboBoxPaired->ItemIndex;
              FSocket->Connect();
              //func is AnsiString and passed as a parameter in this function
              ToSend = TEncoding::UTF8->GetBytes(func);
              FSocket->SendData(ToSend);

              delete FSocket;
              FSocket = NULL;
          }
          else {
              ShowMessage("Error 1");
          }
      }
      else {
              ShowMessage("Error 2");
      }
  }
      else {
          ShowMessage("Error 4");

      }

Я пытался использовать TEncoding закодировать растровое изображение и перейти к ToSend, но я не смог найти и не имеет смысла, потому что он напечатает строку (тот же случай, что и base64).

0 ответов

Другие вопросы по тегам