Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2011, 14:38   #1
hjkdhgu
Новичок
Джуниор
 
Регистрация: 09.06.2011
Сообщений: 1
По умолчанию Не работает написанная мною процедура градиент. ВНИМАНИЕ: МОЙ ПРЕКТ НАПИСАН С ИСПОЛЬЗОВАНИЕМ ALPHACONTROLS

procedure gradient(fromcolor,tocolor:tcolor; size,rotation:integer);
var r,g,b,r1,g1,b1,r2,g2,b2:byte; i,startpos:integer; gbuf: tbitmap;
begin
r1:=getrvalue(fromcolor);
g1:=getgvalue(fromcolor);
b1:=getbvalue(fromcolor);
r2:=getrvalue(tocolor);
g2:=getgvalue(tocolor);
b2:=getbvalue(tocolor);

r:=r1;
g:=g1;
b:=b1;

gbuf:=tbitmap.Create; gbuf.Height:=1000; gbuf.Width:=1000;

for i := 0 to 1000 do begin
if i mod (size-round(size/10))=0 then begin

if (r1<>r2)and(r<>r2) then
if r1>r2 then r:=r-1 else r:=r+1;

if (g1<>g2)and(g<>g2) then
if g1>g2 then g:=g-1 else g:=g+1;

if (b1<>b2)and(b<>b2) then
if b1>b2 then b:=b-1 else b:=b+1;

end;




with gbuf.Canvas do begin
pen.color:=rgb(r,g,b);
if rotation=20 then startpos:=0 else startpos:=-5;

moveto(i,startpos);
lineto(i,rotation);


moveto(i,10);
lineto(i,10);


end;
end;

with form1.Image1 do begin
Canvas.Brush.Bitmap:=gbuf;
Canvas.floodfill(x1,y1,canvas.pixel s[x1,y1], fssurface);
end;

gbuf.Free;
end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\

а вот так процедура вызывается

gradient(pencolor.ColorValue,brushc olor.colorvalue,
round(sqrt(sqr(x1-x)+sqr(y1-y))),abs(x1-x));

pencolor.ColorValue и brushcolor.colorvalue, это alpha controls
x1,y1 координаты первой точки из события image1.mousedown
x,y из события image1.mousemove

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\
не ругайте сильно что я нуб, начал программировать 2 мес. назад.
лучше укажите на мои ошибки
Вложения
Тип файла: rar gpaint.rar (2.90 Мб, 7 просмотров)
hjkdhgu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы. (Составленная мною программа работает некорректно). ISV-777 Помощь студентам 0 10.12.2010 18:02
Вручную написанная функция не работает Ananasinka SQL, базы данных 2 16.05.2010 21:26
Не работает процедура Golovastik SQL, базы данных 2 22.11.2009 14:22
Процедура не работает Михаил Юрьевич Общие вопросы Delphi 4 03.06.2008 07:22
не работает хранимая процедура yulia БД в Delphi 11 28.05.2007 19:00