HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Szöveg megjelenítése rajzolással


Példaprogram letöltése

33158 bájt

Mellékelt példában bemutatjuk, hogy milyen egyszerűen rajzolhatunk ki tetszőleges szöveget általunk megadott Font-al úgy, hogy a betűk hátterén akár színátmenet, akár egy kép legyen a kitöltő minta.

A rajzoláshoz a Form Paint eseményét használjuk fel. Itt paraméterként kapjuk a rajzoláshoz szükséges Graphics osztályt, melyből létrehozunk egy változót az egyszerűbb kezelhetőség érdekében.
Szöveg kirajzolásához ezen osztály DrawString függvényét használjuk, ebből is azt a változatot, mely első paraméterként egy sztringet, másodikként egy Font osztályt, harmadikként egy Brush osztályt, végül az utolsó két paraméterében egy X, Y koordinátát vár.
A Font határozza meg a kiíráskor használt betűtípust. Ehhez létrehozunk egy font nevű változót. A konstruktorban első paraméterként a betűtípus nevét adjuk meg sztringként, majd annak mérete következik, végül pedig arról rendelkezünk, hogy kövér és aláhúzott legyen.
A Brush határozza meg, hogy kiíráskor a szöveg betűinek milyen legyen a háttere. Ehhez két különféle ecsetet hozunk létre, mivel feladatunk is kettős. Először a LinearGradientBrush osztályt használjuk. Itt egy folyamatos színátmenetet megvalósító ecset kerül létrehozásra. A második esetben a TextureBrush osztályt használjuk. Ennek segítségével egy Image típusú képet használhatunk fel rajzeszközként. Az egyszerűség kedvéért egy PictureBox komponensbe betöltöttünk egy képet, majd az ecset létrehozásakor ezt adtuk át a TextureBrush konstruktorának. Mivel a PictureBox komponens Visible property-e hamis, így a komponens futási időben nem látható.
      private void Form1_Paint (object sender, System.WinForms.PaintEventArgs e)
      {
        Graphics g = e.Graphics; 
        Rectangle rect = new Rectangle(10, 10, 400, 80);     
        Font font = new Font("Tahoma", 48, FontStyle.Bold | FontStyle.Underline);
        LinearGradientBrush brush = new LinearGradientBrush(rect, Color.Lime, Color.Blue, LinearGradientMode.Vertical); 
        g.DrawString("Animare Software", font, brush, 10, 10);
        TextureBrush brush2 = new TextureBrush(pictureBox1.Image); 
        g.DrawString("Animare Software", font, brush2, 10, 100);
      }

Cikksorozat

#IDKategóriaCikk címeSorozat
1099DelphiDBChart komponens felhasználása1. rész
1113DelphiTDBChart komponens2. rész
1122DelphiTDBChart komponens3. rész
1132DelphiTDBChart komponens4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 33. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |