Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Создание курсоров


Автор: AndreiBes 2.11.2004, 01:08
:( Люди помогите пожалуйста! Не знаю Delphi ни капельки, а через 2 недели курсач сдавать. Посоветовали сюда обратиться. Если можете объясните как сделать программу редактор курсоров с использованием BitMap. Заранее всем большое спасибо! :qstn

Автор: Illusion Dolphin 2.11.2004, 13:36
Создавать за тебя прогу это дело неблагодарное, но могу кинуть кусок проги, где я делал динамически курсор в виде круга (как в фотожопе)

Код

procedure newcursor;
var   l:integer;
b:tbitmap;

       AndMask : TBitmap;
       IconInfo : TIconInfo;
       i,j:integer;
       bit:tbitmap;
begin
l:=math.min(200, math.max(2,round(strtoint(edit3.text)*zoom))); //т.е. нахожу величину курсора... юзалось для создания иммитации величины кисти для разного зума (редактор графический был)
bit:=tbitmap.create;
bit.Width:=l;
bit.Height:=l;
bit.PixelFormat:=pf4bit;
AndMask := TBitmap.Create;
AndMask.Monochrome := true;
AndMask.width:=l;
AndMask.height:=l;
AndMask.Canvas.Brush.Color := $ffffff;
AndMask.Canvas.pen.Color:=$ffffff;
AndMask.Canvas.FillRect(Rect(0, 0, bit.width, bit.height));

bit.Canvas.pen.color:=$0;
bit.Canvas.Brush.Color:=$0;
bit.Canvas.FillRect(Rect(0, 0, bit.width, bit.height));
bit.Canvas.pen.color:=$ffffff;
bit.Canvas.ellipse(Rect(0, 0, bit.width, bit.height));  

IconInfo.fIcon := true;
IconInfo.xHotspot := 1;
IconInfo.yHotspot := 1;
IconInfo.hbmMask := AndMask.Handle;
IconInfo.hbmColor := bit.Handle;
cur:=CreateIconIndirect(IconInfo); // вот тут мы создали курсор... по сути дальше можешь не смотреть. Т.е. тебе нужно сделать редактор битмапок с возможным прозрачным цветом, а потом просто-напросто преобразовать результат в курсор (да по сути в иконку).
AndMask.free;
bit.Free;
if brushmode_ then
begin
screen.Cursors[100]:=cur;
MyControl.Cursor:=100;
end else MyControl.Cursor:=crCross;
end;

Автор: bartram 2.11.2004, 22:50
Цитата(AndreiBes @ 2.11.2004, 01:08)

а через 2 недели курсач сдавать

за две недели не успеешь :( , даже если бы ты знал что писать, а раз ты не знаешь тут ещё надо посидеть подумать :stena
Сложноватая темка :(

Автор: MacTep 3.11.2004, 00:05
Попал ты парень. Я вот в Delphi сижу уже не две недели, а целый год, а сразу бы так и не накидал твою прогу. Так что отмазывайся от этого курсача как можешь! :) А писать за тебя здесь никто не будет! Вот такая беда! :(

Автор: S.A.P. 3.11.2004, 00:36
В демках Delphi должен быть простой графический редактор. Его спокойно можно переделать в редактор курсоров.

Автор: Medved 3.11.2004, 00:43
Модератор: Постите темы в соответствующий раздел!

Автор: shurik247 7.11.2004, 04:03
Ну вы че мужики, помогите человеку. Ему нужно то простейший редактор, в котором можно карандашом, линией и прямоугольником рисовать. И курсоры достаточно 16-ти цветные.

Я-то не могу, сам еще свой курсач не дописал... smile

А вот хорошая ссылка в тему
http://kainsk.tomsk.ru/g2003/sys26/oswin.htm

Автор: Zero 7.11.2004, 10:09
Цитата
Попал ты парень. Я вот в Delphi сижу уже не две недели, а целый год, а сразу бы так и не накидал твою прогу. Так что отмазывайся от этого курсача как можешь!  А писать за тебя здесь никто не будет! Вот такая беда!

Мастер чё ты так обезнадёживаешь, человека, ему и так не легко, сейчас... smile
И с чего ты взял что курсач нельзя сделать за 2 недели, я например в том семестре, курсач по ТОЭ за 3 дня, сделал, правда я там знал, что писать, но я думая AndreiBes, быстро догадается как что делать, не такая уж и сложная та у него тема... smile
А графический редактор, это вообще можно за час накатать...

Автор: Dmi-Afonin 7.11.2004, 13:28
Zero ты прав как никогда, я тоже думаю, что AndreiBes справиться, ведь не балбес же он.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)