Программирование >>  Автоматически обновляемые приложения 

1 ... 75 76 77 [ 78 ] 79 80 81 ... 170


Вот новый поворот

(из песни группы Машина времени )

Не могу избавиться от искушения вывести текст вокруг какой-нибудь точки, чтобы получить эффект солнышка (рис. 7.6). Это делает код в листинге 7.20.


Зеркало

30 градусов

1 Солнышко

1 Бегущая строка

Рис. 7.6. Поворот текста вокруг одной точки

Листинг 7,20. Вывод текста вокруг точки

private void button3 Click(object sender, EventArgs e) (

Graphics g = CreateGraphics(); g.Clear(BackColor);

Находим центр формы

int cx = this.ClientSize.Width/2;

int cy = this.ClientSize.Height/2;

Перемещаемся в заданную точку отсчета g.TranslateTransform(cx,су);

g.FillEllipse(Brushes.Yellow, -45,-45, 90, 90);



Бегущая градиентная строка

Мы уже рассматривали пример бегущей строки для заголовков формы. Эту же технику можно использовать для создания бегущей градиентной строки с использованием графических методов (листинг 7.21).

<i 7.21. Создание бегущей градиентной строки

Color startColor = Color.Greene-Color endColor = Color.Gold;

string scrollText = C#.Народные советы ;

private void button4 Click(object sender, EventArgs e) {

timerl.Enabled = true;

private void timerl Tick(object sender, EventArgs e) {

scrollText = scrollText.Substring(1,

(scrollText.Length - 1)) + scrollText.Substring(0, 1) Invalidate() ;

SolidBrush solBrush = new SolidBrush(Color.YellowGreen); Font f = new Font( Tahoma , 24, FontStyle.Bold);

Рисуем солнышко int counter = 0;

for (counter =--0; counter<359; counter++) {

g.Drawstring( C#.Народные советы , f, solBrush, 50, 0); g.RotateTransform (20);

Восстанавливаем преобразовние g.ResetTrans form (); g.Dispose();



Скроллинг текста

На самом деле пример для бегущего текста получился не самым удачным. У метода Drawstring имеются параметры, задающие координаты вывода текста. Воспользуемся этими координатами для создания скроллинга текста как по горизонтали, так и по вертикали (листинг 7.22). Для примера нам понадобится таймер и два переключателя.

[Листинг 7.22, Скроллинг текста в двух направлениях

Single y vert; Single x horiz;

Graphics g; Font f;

string scrollText = C#.Народные советы ;

private void timerl Tick(object sender, EventArgs e) {

if (rbHoriz.Checked) {

g.Clear(this.BackColor);

private void Forml Paint(object sender, PaintEventArgs e) {

Brush grBrush = new LinearGradientBrush(this.ClientRectangle,

startColor, endColor, 10); Font f = new Font(Font.Name, 60, Font.Style, GraphicsUnit.Pixel); e.Graphics.DrawString(scrollText, f, grBrush, 0, 0); grBrush.Dispose 0; f.Dispose ();

Обратите внимание, что цвет букв во время движения плавно изменяется.

Примечание

Примеры отображения текстов находятся в папке RotatedText на прилагаемом диске.



1 ... 75 76 77 [ 78 ] 79 80 81 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика