Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C# 11я версия.docx
Скачиваний:
418
Добавлен:
29.05.2015
Размер:
1.98 Mб
Скачать

Индивидуальное задание

Добавьте в приведенный графический редактор свои функции в соответствии с вариантом.

  1. Расширьте приложение путем добавления возможности выбора пользователем цвета и величины кисти.

  2. Разработайте функцию, добавляющую на изображение 1000 точек с координатами заданными случайным образом. Цвет, также, задается случайным образом.

  3. Создайте функцию, переводящую изображение в черно-белый формат. Пороговое значение задавать с помощью элемента управления TrackBar.

  4. Разработайте функцию, оставляющую на изображении только один из каналов (R,G,B). Канал выбирается пользователем.

  5. Создайте функцию, выводящую на изображение окружность. Центр окружности совпадает с центром изображения. Все точки вне окружности переводятся в градации серого цвета. Все точки внутри окружности остаются неизменными. Радиус окружности задается пользователем.

  6. Создайте функцию, выводящую на изображение треугольник. Для всех точек вне треугольника оставьте только канал B. Все точки внутри треугольника переводятся в градации серого цвета.

  7. Создайте функцию, выводящую на изображение ромб. Все точки вне ромба переводятся в градации серого цвета. Для всех точек внутри ромба оставьте только канал G.

  8. Разработайте функцию, которая каждую четную строку изображения переводит в градации серого цвета.

  9. Разработайте функцию, которая переводит каждый нечетный столбец пикселей (вертикальные линии) в градации серого цвета.

  10. Создайте функцию, разбивающую изображение на четыре равные части. В каждой оставьте значение только одного канала R,GиB, а в четвертой выведите градации серого цвета.

  11. Разработайте функцию, заменяющую все точки синего цвета на точки красного цвета.

  12. Создайте функцию, инвертирующую изображение в градациях серого цвета в негатив.

  13. Создайте функцию, изменяющую яркость изображения. Путем прибавления или уменьшения заданной пользователем величины к каждому каналу.

  14. Создайте функцию, переводящую изображение в черно-белый формат в соответствии с пороговым значением, которое ввел пользователь. Для анализа используйте только один из каналов (R,G,B).

  15. Разработайте функцию для создания эффекта мозаики. При этом изображения разбивается на прямоугольные фрагменты, в каждом из которых выбирается цвет средней точки и этим же цветом закрашивается весь фрагмент.

  16. Разработайте функцию, разбивающую изображение на фрагменты, в каждом из которых остается только один из каналов (R,G,B).

Лабораторная работа №13 Методы

Цель лабораторной работы:научиться работать с методами, написать программу с использованием методов.

13.1. Общие понятия

Метод – это элемент класса, который содержит программный код. Метод имеет следующую структуру:

[атрибуты] [спецификторы] тип имя ([параметры])

{

Тело метода;

}

Атрибуты– это особые указания компилятору на свойства метода. Атрибуты используются редко.

Спецификаторы– это ключевые слова, предназначенные для разных целей, например:

  • определяющие доступность метода для других классов:

  • private– метод будет доступен только внутри этого класса

  • protected– метод будет доступен также дочерним классам

  • public– метод будет доступен любому другому классу, который может получить доступ к данному классу

  • указывающие доступность метода без создания класса

  • задающие тип

Типопределяет результат, который возвращает метод: это может быть любой тип, доступный вC#, а также ключевое словоvoid, если результат не требуется.

Имя метода– это идентификатор, который будет использоваться для вызова метода. К идентификатору применяются те же требования, что и к именам переменных: он может состоять из букв, цифр и знака подчёркивания, но не может начинаться с цифры.

Параметры– это список переменных, которые можно передавать в метод при вызове. Каждый параметр состоит из типа и названия переменной. Параметры разделяются запятой.

Тело метода– это обычный программный код, за исключением того, что он не может содержать определения других методов, классов, пространств имён и т. д. Если метод должен возвращать какой-то результат, то обязательно в конце должно присутствовать ключевое словоreturnс возвращаемым значением. Если возвращение результатов не нужно, то использование ключевого словаreturnне обязательно, хотя и допускается.

Пример метода, вычисляющего выражение:

public double Calc(double a, double b, double c)

{

if (a > b)

return Math.Sin(a) * Math.Cos(b);

else

{

double k = Math.Tan(a * b);

return k * Math.Exp(c / k);

}

}