Witam.
Mam takie dwie funkcje :
void funkcja1() {
Font font = new Font(FontFamily.GenericMonospace, 12, FontStyle.Bold);
int width = 100;
Bitmap b = new Bitmap(1,1);
Graphics g = Graphics.FromImage(b);
PointF size = g.MeasureString("BLA", font, width);
}
protected override void OnPrintPage(PrintPageEventArgs e) {
Font font = new Font(FontFamily.GenericMonospace, 12, FontStyle.Bold);
int width = 100;
PointF size = e.Graphics.MeasureString("BLA", font, width);
}
Chcę zapytać co takiego w obiekcie Graphics powoduje, że te rozmiary się różnią? Nieznacznie, ale na tyle dużo, by utrudnić obliczanie stron, dokładne rysowanie tekstu, czy obramowania, np. funkcja1 obliczyła rozmiar, w funkcji onprintpage rysuję według tego rozmiaru z funkcja1 i niestety jest źle tzn. tekst nie mieści się w prostokącie itp:(
Próbowałem bawić się DPI, ale mimo iż wartości są te same, zwracany rozmiar jest inny.
Jeśli istnieje jakieś inne rozwiązanie od obliczania wszystkiego w funkcji OnPrintPage to będę wdzięczny...
Dziękuję.