Добавил работу с массивом точек.
Новые команды:
create_array(w: integer; h: integer) - создать картинку в виде массива точек размерами w * h
clear_array - очистить память от массива точек
draw_array(x: integer; y: integer) - вывести картинку (из массива точек) на экран (без перерисовки)
x, y - координаты левого верхнего угла картинки
поддерживается полупрозрачность!
poke(x: integer; y: integer; color: integer) - записать точку в массив точек
x, y - координаты точки в массиве
color - ARGB цвет точки (подсчитаете на научном калькуляторе)
integer peek(x: integer; y: integer) - прочитать значение цвета в точке из массива точек
x, y - координаты точки в массиве
Простейший пример работы с массивом чисел:
Program BetaTest;
Uses beta;
Var im: image;
Begin
CreateImage(100, 100); // Создаем картинку 100*100
Replace; // Переключаем поток вывода на нашу картинку
DrawText('odd was here', 0, 0); // Рисуем что-то на картинке
DrawImage(LoadImage('/icon.png'), 5, 16); // Для примера выводим в нашу картинку др. картинку
Replace; // Переключаем фокус вывода назад. Теперь вывод будет идти на дисплей
SetColor(0, 255, 0); FillRect(0, 0, GetWidth, GetHeight); // Закрашиваем дисплей
im:=GetImage; // Извлекаем полученную картинку в переменную (можно и не в переменную, а вставить внутрь функции DrawImage)
DrawImage(im, 5, 5); // Выводим сгенерированную картинку на дисплей
Repaint;
Delay(5000);
// Работа с массивом точек
SetColor(255, 255, 255); FillRect(0, 0, GetWidth, GetHeight); // Закрашиваем дисплей
create_array(100, 50); // Создаем массив точек
poke(1, 5, 4278190335); // Закрашиваем точку (1, 5) цветом FF0000FF = 4278190335
draw_array(0, 0); // Выводим массив на дисплей
Repaint;
Delay(5000);
End.