Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 1154
от 28.07.2008, 13:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 430, Экспертов: 41
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 140554: Хочется сделать так: На картинке (TImage) по нажатию левой кнопкой мыши вырисовывать (или создавать) еще картинку, которая будет помещаться сверху предыдущей. Один из экспертов порекомендовал на канве TImage отрисовывать объект TGraphic. Но я не р...

Вопрос № 140.554
Хочется сделать так: На картинке (TImage) по нажатию левой кнопкой мыши вырисовывать (или создавать) еще картинку, которая будет помещаться сверху предыдущей. Один из экспертов порекомендовал на канве TImage отрисовывать объект TGraphic.
Но я не работал с этим объектом и не знаю как загрузить в него картинку. Может кто-нибудь дополнить процедуру?

Приложение:

Отправлен: 23.07.2008, 13:24
Вопрос задал: Марков Александр Сергеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Абельхарисов Руслан/Marked One
Здравствуйте, Марков Александр Сергеевич!
Положите на форму еще один TImage. Загрузите в него второй рисунок.
В обработчике события первого Image'а OnMouseDown вставьте этот код:
Код:

//Здесь рисуем
if Button = mbLeft then
//Копируем второй рисунок в место куда щелкнули мышью и центр картинки которая появляется, будет как раз в том месте, где щелкнули. Объяснение применения процедуры смотрите ниже.
Image1.Canvas.BrushCopy(Rect(x-(Image2.Width div 2), y-(Image2.Height div 2), x+(Image2.Width div 2), y+(Image2.Height div 2)), Image2.Picture.Bitmap, Rect(0, 0, Image2.Width, Image2.Height), 0);

procedure TImage.Canvas.BrushCopy(const Dest: TRect; Bitmap: TBitmap; const Sourc e: TRect; Color: Tcolor);
Dest -область приёмника(координаты области куда копировать). Dest объявлена как структура TRect.
Чтобы из координат получить структуру TRect используем следующую конструкцию: Rect(X1, Y1, X2, Y2). X1, Y1, X2, Y2-координаты левого верхнего и правого нижнего угла области. В нашем случае указано что мы копируем в область с координатами: x-половина ширины, y-половина высоты, x+половина ширины, y+половина высоты второй картинки, где x, y-координаты места куда щелкнули мышью.
Bitmap -картинка которая будет копироватся. У нас это вторая картинка.
Source -область источника(откуда будем копировать).
Color -прозрачный цвет, у нас его нет, поэтому указано 0.
Удачи!!!

Ответ отправил: Абельхарисов Руслан/Marked One (статус: Студент)
Ответ отправлен: 24.07.2008, 23:21
Оценка за ответ: 5
Комментарий оценки:
Именно то, что нужно:))


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.0 alpha от 21.07.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное