Picture.Noise

From SunFlurry wiki
Jump to: navigation, search
  Noise (Изменение картинки)
Объект:Картинка
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, неверные параметры.
Визуальность:Нет

Функция добавляет шум указанного вида в требуемом количестве в заданный прямоугольник картинки. Функция поддерживает форматы картинки: 32 бит (если картинка имеет другой формат, она будет преобразована в поддерживаемый).

Синтаксис

Picture.Noise(<Координата X верхней левой точки (INT)>,<Координата Y верхней левой точки (INT)>,<Координата X нижней правой точки (INT)>,<Координата Y нижней правой точки (INT)>,<Тип шума (INT)>=0,<Интенсивность шума (REAL)>=50)

Аргументы

  • <Координата X верхней левой точки (INT)>,<Координата Y верхней левой точки (INT)>,<Координата X нижней правой точки (INT)>,<Координата Y нижней правой точки (INT)> - Аргументы задают координаты прямоугольника, в который будет добавлен шум.
  • <Тип шума (INT)> (необязательный аргумент) Аргумент задает тип добавляемого шума, возможны следующие значения аргумента:
    • 0 (по умолчанию) -- добавляется "белый" шум (случайным образом подбирается интенсивность шума, для использования во всех трех каналах R, G и B)
    • 1 -- добавляется "красный" шум (случайным образом подбирается интенсивность шума по каналу R)
    • 2 -- добавляется "зеленый" шум (случайным образом подбирается интенсивность шума по каналу G)
    • 3 -- добавляется "синий" шум (случайным образом подбирается интенсивность шума по каналу B)
    • 4 -- добавляется "цветной" шум (случайным образом подбирается интенсивность шума по каждому из трех каналов R, G и B)
  • <Интенсивность шума (REAL)> (необязательный аргумент) Аргумент задает интенсивность (прозрачность) шума. При нуле, шум отсутствует, при 100, оригинальные точки прямоугольника полностью заменяются шумом, значения между представляют собой градиент прозрачности шума. По умолчанию аргумент имеет значение 50. Значение может быть вещественным числом.

Примеры

Картинка-результат работы примера
//Добавление шума разного типа на цветную картинку
aPic:=Picture.Create(200,150,toRgb(255,255,255),32);
aPic.Ellipse(25,25,175,75,_CLR_YELLOW,_CLR_BLUE,10,1);
aPic.Noise(25,25,50,125,0,75);
aPic.Noise(55,25,80,125,1,75);
aPic.Noise(85,25,110,125,2,75);
aPic.Noise(115,25,140,125,3,75);
aPic.Noise(145,25,170,125,4,75);
//Увеличим картинку в два раза для удобства демонстрации
aPic.Resize(400,300,0);
aPic.Save("c:\Noise","png");