Witam,
Nie wiem dlaczego, ale drukując na linuksie, mam zawsze tekst bez tła - nawet jeżeli ustawię białe tło, i tak na wydruku jest bez tła (na podglądzie wydruku jest OK, na Windows tez jest ok).
Pokaze troche kodu:
W głównym oknie programu
void MyPrintout::DrukujStrone(wxDC *dc, int *numer)
{
//Piksele/cal
int ppiScreenX, ppiScreenY;
GetPPIScreen(&ppiScreenX, &ppiScreenY);
int ppiPrinterX, ppiPrinterY;
GetPPIPrinter(&ppiPrinterX, &ppiPrinterY);
//Do skalowania
float scale = (float)((float)ppiPrinterX/(float)ppiScreenX);
int pageWidth, pageHeight;
int w, h;
dc->GetSize(&w, &h);
GetPageSizePixels(&pageWidth, &pageHeight);
float overallScale = scale * (float)(w/(float)pageWidth);
dc->SetUserScale(overallScale, overallScale);
float przelicznik = (float)(ppiPrinterX/(scale*25.4));
dc->SetTextBackground(wxColour(255,255,255));
//Polecenie przelewu
Blankiet Przekaz(dc,przelicznik,25,10,CzyCzarnoBialy);
//....
Przekaz.Rysuj();
//......
I dalej w głąb hieratrchii klas...:
void Blankiet::Rysuj(int poz)
{
Wydruk blankiet(dc, przelicznik);
/*Tutaj rysowanie blankietu - linie itd*/
//Ten tekst ma byc z bialym tlem!
blankiet.PoleTekstowe(_T("nazwa odbiorcy"),LEWY_MARGINES+10,GORNY_MARGINES+2,FONT_6);
No i metoda PoleTekstowe:
void Wydruk::PoleTekstowe(wxString tekst, int pocz_x, int pocz_y, int font_rozm, bool pogrubiony, wxColour kolor, bool przezr)
{
font.SetFaceName(_T("Arial"));
font.SetPointSize(font_rozm);
if(pogrubiony)
font.SetWeight(wxFONTWEIGHT_BOLD);
else
font.SetWeight(wxFONTWEIGHT_NORMAL);
dc->SetTextForeground(kolor);
dc->SetTextBackground(wxColour(255,255,255));
if(przezr==false)
brush.SetStyle(wxSOLID);
else
brush.SetStyle(wxTRANSPARENT);
brush.SetColour(aRGB(255,255,255));
dc->SetFont(font);
dc->SetBackground(brush);
if(przezr==false)
dc->SetBackgroundMode(wxSOLID);
else
dc->SetBackgroundMode(wxTRANSPARENT);
dc->DrawText(tekst,pocz_x*przelicznik, pocz_y*przelicznik);
}
No i teraz - gdzie jest problem? Na linuksie na podgladzie wydruku jest biale tlo, na samym wydruku tekst jest zawsze bez żadnego tła. Na Windows zarówno na podglądzie, jak i na wydruku jest dobrze.
Ma ktos jakis pomysl? Wg mnie wszystko tu jest dobrze...