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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2010, 17:11   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
Восклицание Рисование как в Paint

Подскажите пожалуйста как в Delphi на Canvas-e можно сделать, чтобы можно было рисовать также как и Paint-e карандошом?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.02.2010, 17:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

По-моему в DEMOS'ах Делфи были примеры простенького Паинта на основе TPaintBox. Посмотри их.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2010, 17:33   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Простым LineTo. Вот быстренько примерчик сделал:
Код:
var
  Form1: TForm1;
  x1,y1: integer;
  painting: boolean;

implementation

{$R *.dfm}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  image1.Canvas.MoveTo(x,y);
  painting:=true;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if painting then Image1.Canvas.LineTo(x,y);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  painting:=false;
end;
TwiX вне форума Ответить с цитированием
Старый 12.02.2010, 18:22   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Всем спасибо за ответы!) Этот вопрос почти решен, но когда открываешь ранее сохраненный рисунок, нарисованный ранее, то когда водишь курсором и рисуешь линию, то по экрану идут полосы. Полагаю, что это с перерисовкой связано. Как сделать, чтобы не было этих мерцаний?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.02.2010, 18:38   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

добавь...
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 DoubleBuffered:= true
end;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
и снова Paint.... TopoRRR Помощь студентам 2 21.12.2009 14:23
Paint Артэс Win Api 4 30.11.2008 02:09
Типа Paint Neba Общие вопросы Delphi 1 26.11.2008 23:41
paint ben95 Общие вопросы Delphi 1 30.03.2008 09:27
Отмена прорисовки линии в Paint пр. кн. мыши. Как? Помогите!!! AnthyShock Помощь студентам 1 23.03.2007 18:51