Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • Город:
    Москва
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.

В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.

Для кого предназначена эта книга

Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.

Основные темы книги

• Все особенности языка C#

• C# и объектно-ориентированное программирование

• Приложения и службы Windows

• Создание web-страниц и web-служб с помощью ASP NET

• Сборки .NET

• Доступ к данным при помощи ADO NET

• Создание распределённых приложений с помощью NET Remoting

• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

□ Кисть System.Drawing.Drawing2D.LinearGradientBrushзаполняет область цветом, который изменяется на экране.

□ Кисть System.Drawing.Drawmg2D.PathGradientBrushдействует аналогично, но в этом случае цвет меняется вдоль кривой в закрашиваемой области. Мы не будем рассматривать здесь эти кисти. Отметим только, что обе они могут создать интересные эффекты при аккуратном использовании. Пример Bezierиз главы 9 использует кисть с линейным градиентом для закрашивания фона окна.

Перья

В отличие от кистей перья представлены только одним классов — System.Drawing.Pen. Перо в действительности является немного более с южным, чем чисть, так как оно должно указывать толщину линий (ширину в пикселях), а для широкой линии,— как закрашивать область внутри нее. Перья могут также определять ряд других свойств, которые находятся за пределами нашего рассмотрения, но включают упоминавшееся ранее свойство Alignment, указывающее, где относительно границы фигуры должна быть нарисована линия, а также какую фигуру нарисовать в конце линии (нужно ли округлять форму).

Область внутри толстой линии может быть закрашена сплошным цветом с помощью пера или кисти. Следовательно, экземпляр Pen может содержать ссылку на экземпляр Brush. Это достаточно мощное средство, так как при его содействии можно нарисовать линии, окрашенные с помощью штрихования или линейного затенения. Существует четыре различных способа, с помощью которых создаются экземпляры Pen. Можно задать цвет или кисть, оба эти конструктора будут создавать перо шириной в один пиксель. Можно также в дополнение к цвету или кисти задать значение типа float, представляющее ширину пера (на тот случай, если для объекта Graphics, который будет выполнять рисование, используются нестандартные единицы измерения, такие как миллиметры или дюймы, или доли дюймов). Поэтому, например, можно так создавать перья:

Brush brickBrush = new HatchBrush(HatchStyle.DiagonalBrick, Color.DarkGoldenrod, Color.Cyan);

Pen solidBluePen = new Pen(Color.FromArgb(0, 0, 255));

Pen solidWideBluePen = new Pen(Color.Blue, 4);

Pen brickPen = new Pen(BrickBrush);

Pen brickWidePen = new Pen(BrickBrush, 10);

Кроме того, для быстрого создания перьев можно использовать класс System.Drawing.Pens, который подобно классу Brushesсодержит ряд готовых перьев. Эти перья все имеют ширину в один пиксель и используют обычное множество именованных цветов Интернета, что позволяет создавать перья таким образом:

Pen SolidYellowPen = Pens.Yellow;

Рисование фигур и линий

В первой части главы были рассмотрены базовые классы и объекты, требуемые для рисования специальных фигур и т.д. на экране. Теперь дадим обзор некоторых методов рисования, предоставляемых классом Graphics, и в конце — кратким примером проиллюстрируем несколько кистей и перьев.

System.Drawing.Graphicsимеет большое число методов, позволяющих рисовать различные линии, контуры фигур и сплошные фигуры. Их существует слишком много, но таблица (см. ниже) представляет основные методы и дает представление о множестве фигур, которые можно нарисовать.

Метод Типичные параметры Что рисует
DrawLine Перо, начальная и конечная точки Одиночная прямая линия
DrawRectangle Перо, позиция и размер Контур прямоугольника
DrawEllipse Перо, позиция и размер Контур эллипса
FillRectangle Кисть, позиция и размер Закрашенный прямоугольник
FillEllipse Кисть, позиция и размер Закрашенный эллипс
DrawLines Перо, массив точек Последовательность линий, соединяющих каждую точку в массиве со следующей
DrawBezier Перо, 4 точки Гладкая кривая, соединяющая две конечные точки и проходящая через две оставшиеся точки, используемые для управления формой кривой
DrawCurve Перо, массив точек Гладкая кривая, проходящая через точки
DrawArc Перо, прямоугольник, два угла Часть окружности внутри прямоугольника, определенная углами
DrawClosedCurve Перо, массив точек Подобен DrawCurve, но рисует также прямую линию для соединения концов кривой
DrawPie Перо, прямоугольник, два угла Клиновидный контур внутри прямоугольника
FillPie Кисть, прямоугольник, два угла Закрашенная клиновидная область в прямоугольнике
DrawPolygon Перо, массив точек Подобен DrawLines, но соединяет также первую и последнюю точки для замыкания нарисованной фигуры

Прежде чем закончить тему рисования простых объектов, создадим пример, который демонстрирует разновидности визуальных эффектов, создаваемых с помощью кистей. Пример называется ScrollMoreShapesи является по сути пересмотром примера ScrollShapes. Помимо прямоугольника и эллипса, добавим толстую линию и закрасим фигуры с помощью различных кистей. Мы уже объясняли принципы рисования, поэтому код представлен с минимальными комментариями. Первое: в связи с новыми кистями, нам нужно указать, что используется пространство имен System.Drawing.Drawing2D:

using System;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

Используем несколько дополнительных полей в классе Form1, которые содержат данные о местах, где должны быть нарисованы фигуры, а также различные перья и кисти:

private Rectangle rectangleBounds =

new Rectangle(new Point(0, 0), new Size(200, 200));

private Rectangle ellipseBounds =

new Rectangle(new Point(50, 200), new Size(200, 150));

private Pen BluePen = new Pen(Color.Blue, 3);

private Pen RedPen = new Pen(Color.Red, 2);

private Brush SolidAzureBrush = Brushes.Azure;

private Brush CrossBrush = new HatchBrush(HatchStyle.Cross, Color.Azure);

static private Brush BrickBrush =

new HatchBrush(HatchStyle.DiagonalBrick, Color.DarkGoldenrod, Color.Cyan);

private Pen BrickWidePen = new Pen(BrickBrush, 10);

Поле BrickBrushобъявлено как статическое, чтобы использовать его значение в инициализаторе BrickWidePen, который далее следует. C# не позволит использовать поле одного экземпляра объекта для инициализации поля другого экземпляра, так как не определено, какое из них будет инициализировано первым. Но объявление поля как static решает проблему, так как создается только один экземпляр класса Form1, поэтому неважно, будут ли поля статическими или полями экземпляра. Вот метод OnPaint():

protected override void OnPaint(PaintEventArgs e ) {

Graphics dc = e.Graphics;

Point scrollOffset = this.AutoScrollPosition;

dc.TranslateTransform(scrollOffset.X, scrollOffset.Y);

if (e.ClipRectangle.Top+scrollOffset-X < 350 ||

e.ClipRectangle.Left+scrollOffset.Y < 250) {

dc.DrawRectangle(BluePen, rectangleBounds);

dc.FillRectangle(CrossBrush, rectangleBounds);

dc.DrawEllipse(RedPen, ellipseBounds);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x