Next: , Previous: Функции и переменные пакета draw, Up: Пакет draw   [Contents][Index]

46.3 Функции и переменные для картин

Функция: make_level_picture (data)
Функция: make_level_picture (data,width,height)

Возвращает объект типа картина уровней. make_level_picture (data) строит объект картина из матрицы data. make_level_picture (data,width,height) строит объект из списка чисел; в этом случае должны быть заданы оба параметра width и height.

Возвращает объект типа картина, содержащий следующие четыре части:

  1. символ level
  2. ширина картины
  3. высота картины
  4. массив целых чисел в пределах от 0 до 255, описывающих пикселы. Аргумент data должен содержать только числа в пределах от 0 до 255; отрицательные числа заменяются 0, а те, что превышают 255, заменяются на 255.

Пример:

Картина уровней из матрицы.

(%i1) load("draw")$
(%i2) make_level_picture(matrix([3,2,5],[7,-9,3000]));
(%o2)         picture(level, 3, 2, {Array:  #(3 2 5 7 0 255)})

Картина уровней из числового списка.

(%i1) load("draw")$
(%i2) make_level_picture([-2,0,54,%pi],2,2);
(%o2)            picture(level, 2, 2, {Array:  #(0 0 54 3)})
Функция: picturep (x)

Возвращает true, если аргумент является правильно сформированной картиной, и false в противном случае.

Функция: picture_equalp (x,y)

Возвращает true, если картины совпадают, и false в противном случае.

Функция: make_rgb_picture (redlevel,greenlevel,bluelevel)

Возвращает rgb-цветную картину. Все три аргумента должны быть картинами уровней, с уровнями, задающими красный, зеленый и синий цвета соответственно.

Возвращаемый объект картина содержит следующие четыре части:

  1. символ rgb
  2. ширина картины
  3. высота картины
  4. целый массив длины 3*width*height с данными о пикселах со значениями от 0 до 255. Каждый пиксел представляется тремя последовательными числами (красный, зелены, синий).

Пример:

(%i1) load("draw")$
(%i2) red: make_level_picture(matrix([3,2],[7,260]));
(%o2)           picture(level, 2, 2, {Array:  #(3 2 7 255)})
(%i3) green: make_level_picture(matrix([54,23],[73,-9]));
(%o3)           picture(level, 2, 2, {Array:  #(54 23 73 0)})
(%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
(%o4)          picture(level, 2, 2, {Array:  #(123 82 45 33)})
(%i5) make_rgb_picture(red,green,blue);
(%o5) picture(rgb, 2, 2, 
              {Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)})
Функция: take_channel (im,color)

Если параметр color равен red, green или blue, то функция take_channel возвращает соответствующий цветовой канал картины im. Пример:

(%i1) load("draw")$
(%i2) red: make_level_picture(matrix([3,2],[7,260]));
(%o2)           picture(level, 2, 2, {Array:  #(3 2 7 255)})
(%i3) green: make_level_picture(matrix([54,23],[73,-9]));
(%o3)           picture(level, 2, 2, {Array:  #(54 23 73 0)})
(%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
(%o4)          picture(level, 2, 2, {Array:  #(123 82 45 33)})
(%i5) make_rgb_picture(red,green,blue);
(%o5) picture(rgb, 2, 2, 
              {Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)})
(%i6) take_channel(%,'green);  /* simple quote!!! */
(%o6)           picture(level, 2, 2, {Array:  #(54 23 73 0)})
Функция: negative_picture (pic)

Возвращает негатив картины (уровней или rgb).

Функция: rgb2level (pic)

Преобразует rgb картину в картину уровней усреднением красного, зеленого и синего каналов.

Функция: get_pixel (pic,x,y)

Возвращает пиксел из картины. Координаты x и y должны быть от 0 до width-1 и height-1 соответственно.

Функция: read_xpm (xpm_file)

Читает файл в формате xpm и возвращает объект типа картина.


Next: , Previous: Функции и переменные пакета draw, Up: Пакет draw   [Contents][Index]