wxDC::DrawText не отображает текст

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 181
Joined: Fri Dec 09, 2016 7:28 am
Contact:

wxDC::DrawText не отображает текст

Postby cutecode » Tue Apr 10, 2018 8:11 am

надо создать PNG файл с прозрачным фоном. А именно чтобы вставить в документ синий штамп, типа "Документ подписан электронной подписью... бла-бла-бла"

Синий прямоугольник отображается, а вот текст ни в какую не хочет отображаться.
помогите плиз.

Code: Select all

bool create_shtamp(wxString& szPathToFile, wxString &szText1, wxString &szText2, wxString &szText3)
{
   wxBitmap bitmap(300, 100);
   wxMemoryDC dc;
   dc.SetBackgroundMode(wxPENSTYLE_TRANSPARENT);
   dc.SelectObject(bitmap);
   dc.SetBackground(*wxBLUE_BRUSH);
   dc.Clear();

   dc.SetPen(*wxRED_PEN);
   dc.SetBrush(*wxRED_BRUSH);
   dc.DrawRectangle(1, 1, 298, 98);

   dc.SelectObject(wxNullBitmap);

   wxFont* pFont = new wxFont(wxFontInfo(8).Family(wxFONTFAMILY_DEFAULT).Bold().FaceName(L"Verdana"));
   
   dc.SetFont(*pFont);

   dc.SetTextForeground(*wxBLUE);
   dc.SetTextBackground(*wxWHITE);
   dc.SetBackgroundMode(wxTRANSPARENT);

   dc.DrawText(szText1, 10, 10);
   dc.DrawText(szText2, 10, 35);
   dc.DrawText(szText3, 10, 70);

   delete pFont;

   // Convert the bitmap to an image
   wxImage image = bitmap.ConvertToImage();
   // Set the mask color to red
   image.SetMaskColour(255, 0, 0);
   image.SaveFile(szPathToFile, wxBITMAP_TYPE_PNG);

   return true;
}

   wxString sz00 = L"e:\\1.png";
   wxString sz1 = L"text1";
   wxString sz2 = L"text2";
   wxString sz3 = L"text3";
   create_shtamp(sz00, sz1, sz2, sz3);
Attachments
1.png
1.png (444 Bytes) Viewed 272 times
regards,
Alexander Saprykin
www.wxwidgets.ru

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 181
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: wxDC::DrawText не отображает текст

Postby cutecode » Tue Apr 10, 2018 9:59 am

Пардон, сам нашел. надо было

Code: Select all

dc.SelectObject(wxNullBitmap);


ниже опустить
regards,
Alexander Saprykin
www.wxwidgets.ru


Return to “wxWidgets Development (Russian)”

Who is online

Users browsing this forum: No registered users and 2 guests