Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
6 / 6 / 2
Регистрация: 24.09.2012
Сообщений: 381
1

Прорисовка изображения на Paintbox со второго раза

25.02.2014, 14:42. Показов 1148. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
нужно написать процедуру, которая подгрузит битмап и нарисует его на paintbox'е, вот такой код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure loadpict;
begin
pict:=Tbitmap.Create;
if form1.OpenPicturedial1.Execute then
begin
pict.LoadFromFile(form1.OpenPicturedial1.FileName);
end;
form1.PaintBox1.Height:=pict.Height;
form1.PaintBox1.Width:=pict.Width;
form1.PaintBox1.Canvas.Draw(0,0,pict);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
loadpict;
end;
с первого раза только на мгновение покажет картинку, но запустив еще раз изображение останется, в чём проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2014, 14:42
Ответы с готовыми решениями:

Загрузка изображения в PaintBox
Как загрузить в PaintBox TImage?

Разделение изображения в PaintBox на части
Всем привет! Я новенький на этом форуме решил задать первый вопрос связанный с C# WinForms на...

Прорисовка изображения
Вопрос к знатокам графики. Могу ли я ускорить прорисовку изображения с помощью: Рисую линии a в...

Как сместить Canvas в PaintBox не смещая PaintBox?
Как сместить например на 3 пикселя весь рисунок в PaintBox, не изменяя при этом размеров и позиции...

9
angstrom
25.02.2014, 22:03 2
Цитата Сообщение от vadim23409 Посмотреть сообщение
изображение останется
А теперь сверните программу и разверните. Куда делось изображение?
6 / 6 / 2
Регистрация: 24.09.2012
Сообщений: 381
01.03.2014, 23:49  [ТС] 3
Цитата Сообщение от angstrom Посмотреть сообщение
А теперь сверните программу и разверните. Куда делось изображение?
и что теперь? при каждом изменении положения окна и элементов на нём нужно задействовать paintbox1.repaint?

Добавлено через 45 секунд
да ну этот paintbox, поставлю Timage
0
angstrom
01.03.2014, 23:55 4
Отрисовка для TPaintBox-а должно происходить в его событии OnPaint.
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
01.03.2014, 23:56 5
Цитата Сообщение от vadim23409 Посмотреть сообщение
элементов на нём нужно задействовать paintbox1.repaint
перерисовка и так задействована, другое дело, что код рисования должен быть размещен в обработчике OnPaint
0
6 / 6 / 2
Регистрация: 24.09.2012
Сообщений: 381
02.03.2014, 00:47  [ТС] 6
Цитата Сообщение от cotseec Посмотреть сообщение
код рисования должен быть размещен в обработчике OnPaint
ну а если мне нужно время от времени рисовать на нём что-то другое, например при нажатии кнопки, а в обработчике OnPaint он будет нарисован один раз и всё, то как быть?
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
02.03.2014, 00:49 7
Цитата Сообщение от vadim23409 Посмотреть сообщение
он будет нарисован один раз
т.е. код рисования не подразумевает каких-либо условий? (например, если что-то, то рисуй круг, иначе - рисуй квадрат)
0
6 / 6 / 2
Регистрация: 24.09.2012
Сообщений: 381
02.03.2014, 00:53  [ТС] 8
например: button1.on click - нарисовать картинку, выбранную через opendialog, button2.onclick - нарисовать круг, paintbox1.onmousedown - изменить цвет пикселя, на который наведён курсор и много чего другого.
0
angstrom
02.03.2014, 01:24 9
Рисуешь на битмапе, а в OnPaint TPaintBox-а переносишь рисунок с битмапа.
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,037
02.03.2014, 18:17 10
вот может поможет
Delphi
1
2
3
4
5
var buf:TBitmap;
 
////////////////// обновление кадра
BitBlt(Image1.Canvas.Handle,0,0,buf.Width,buf.Height,buf.Canvas.Handle,0,0,SRCCOPY);
Image1.Refresh;
Я делал так, работает нормально, не TPaintBox, но все же.
0
02.03.2014, 18:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2014, 18:17
Помогаю со студенческими работами здесь

ПК включается со второго раза
при первом нажатии на кнопку вкл стартует крутит вентиль мигают лампочки ....как только появляется...

Загрузка ОС со второго раза
У меня возникла проблема... На ноутбуке стоит винда ХР, при включении нотика ничего не...

Компьютер включается со второго раза
После спящего режима компьютер не включался. Начинали крутиться куллеры и он моментально тух. При...

Ноутбук включается со второго раза
Проблема заключается в следующем: при первом включении ноутбука он как-будто подвисает на загрузке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru