Rysowanie tekstu

0

Witam,
ostatnio natrafiłem na następujący problem: ładuję plik graficzny do kontrolki PictureBox i rysuję tekst

pbWallpaper.Load(dlgOpen.FileName);
Graphics g = Graphics.FromImage(pbWallpaper.Image);
Font f = new Font("Arial Unicode MS", 24, FontStyle.Regular);
g.DrawString("A", f, new SolidBrush(Color.Yellow), new PointF(10, 10));

Na większości plików graficznych wszystko wyglądało identycznie- czyli wyświetlany tekst był tej samej wielkości. Lecz na niektórych obrazkach jest on powiększony. Przypuszczam, że ma to związek z rozdzielczością obrazka, ale czy tekst nie powinien być tej samej wielkości jeżeli aplikacja działa cały czas na tym samym komputerze o tej samej rozdzielczości monitora ? W programach graficznych wstawiając tekst o tym samym rozmiarze czcionki otrzymuje zawsze podobny efekt na ekranie (niezależnie od pliku). Możecie mnie jakoś nakierować jak rozwiązać ten problem?

0

Czesc,

Tak, wpływa na to to, że tworzysz obiekt Graphics na podstawie obrazka. Więc po pierwsze stwórz samemu obiekt Graphics o parametrach jakie chcesz żeby miał, a później narysuj na tym obiekcie obrazek za pomocą odpowiedniej metody DrawImage i przeskaluj go za pomocą parametrów tej metody do rozmiarów jakie chcesz osiągnąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1