Показать сообщение отдельно
Старый 15.11.2011, 21:14   #18
barsunduk
ПроЭктировщик
 
Аватар для barsunduk
 
Регистрация: 09.05.2010
Адрес: рф ро шахты
Сообщений: 177
Написано 66 полезных сообщений
(для 271 пользователей)
Ответ: Lib_imgs: выводим картинку на картинку

по просьбе трудящихся добавил возможность рисования на картинках нескольких основных примитивов:

// установить цвет пера для рисования на картинках (можно полупрозрачный)
procedure imgsetcolor(color: integer);

// получить цвет пера для рисования на картинках
function imggetcolor: integer;

// установить непрозрачность пера для рисования на картинках (0/1)
procedure solid(value: integer);

// получить состояние непрозрачности пера для рисования на картинках (0/1)
function getsolid: integer;

// линия на картинке
function imgline(img: image; x1, y1, x2, y2: integer): image;

// прямоугольник на картинке
function imgrect(img: image; x, y, w, h: integer): image;

// закрашенный прямоугольник на картинке
function imgfillrect(img: image; x, y, w, h: integer): image;

// эллипс на картинке
function imgellipse(img: image; x, y, w, h: integer): image;

// залитый эллипс на картинке
function imgfillellipse(img: image; x, y, w, h: integer): image;

// заливка на картинке
function imgfill(img: image; x, y: integer): image;

// сектор на картинке
function imgarc(img: image; x, y, w, h, a1, a2: integer): image;

// кривая на картинке (все опорные точки лежат на кривой)
function imgbow(img: image; x1, y1, x2, y2, x3, y3: integer): image;

// кривая на картинке (2-я опорная точка не лежит на кривой)
function imgbezier(img: image; x1, y1, x2, y2, x3, y3: integer): image; 
и немного поправил заливку экрана:
// быстрая заливка экрана цветом col
procedure cls(col: integer);

// заливка экрана полупрозрачным цветом col
procedure clsa(col: integer);

// заливка экрана
procedure scrfill(x, y); 
функции, как мог оптимизировал, но не обещаю скоростей на топорах.
хотя на картинках в основном рисует по самым шустрым алгоритмам брезенхама, битмапы то и дело конвертируются в картинки и наоборот.
треугольнички пока победить не смог, кривовато рисуются, надо править ..(
__________________
to be or not to be - it's not a question!
2b or not 2b = ff

Последний раз редактировалось barsunduk, 16.11.2011 в 22:35.
(Offline)
 
Ответить с цитированием