forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_imgs: выводим картинку на картинку (http://forum.boolean.name/showthread.php?t=14722)

alexprey 14.11.2011 19:54

Ответ: Lib_imgs: выводим картинку на картинку
 
Что то баг какой то получился. При любых X,Y рендер все равно происходит с 0,0. Давай в аську (568027492)

barsunduk 14.11.2011 20:52

Ответ: Lib_imgs: выводим картинку на картинку
 
буковку перепутал... вот так вот и улетел вояджер мимо марса из-за неправильно поставленной запятой...
всё, пашет.

barsunduk 15.11.2011 21:14

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

PHP код:

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

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

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

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

// линия на картинке
function imgline(imgimagex1y1x2y2integer): image;

// прямоугольник на картинке
function imgrect(imgimagexywhinteger): image;

// закрашенный прямоугольник на картинке
function imgfillrect(imgimagexywhinteger): image;

// эллипс на картинке
function imgellipse(imgimagexywhinteger): image;

// залитый эллипс на картинке
function imgfillellipse(imgimagexywhinteger): image;

// заливка на картинке
function imgfill(imgimagexyinteger): image;

// сектор на картинке
function imgarc(imgimagexywha1a2integer): image;

// кривая на картинке (все опорные точки лежат на кривой)
function imgbow(imgimagex1y1x2y2x3y3integer): image;

// кривая на картинке (2-я опорная точка не лежит на кривой)
function imgbezier(imgimagex1y1x2y2x3y3integer): image

и немного поправил заливку экрана:
PHP код:

// быстрая заливка экрана цветом col
procedure cls(colinteger);

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

// заливка экрана
procedure scrfill(xy); 

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

barsunduk 16.11.2011 22:38

Ответ: Lib_imgs: выводим картинку на картинку
 
победил полигоны
PHP код:

// треугольник на картинке
function imgtriangle(imgimagex1y1x2y2x3y3integer): image;
// закрашенный треугольник на картинке
function imgfilltriangle(imgimagex1y1x2y2x3y3integer): image



Часовой пояс GMT +4, время: 03:02.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot