Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Помогите работать с TImage   Найти похожие ветки 

 
Благодарный слушатель   (2006-10-18 20:08) [0]

1. Как перетаскивать картинку, чтобы она не мигала? Если картике тупо менять Left/Top при движении мышью, тогда картинка будит сильно мигать (часто перерисовываться).
2. Я хачу связать катинки линией (типа диаграмм), при этом линию надо где-нибудь рисовать. Я для рисования линии использую TImage. При этом при щелчке на прозрачную чать компонента TImage на котором рисовали линию сообщение от мыши поступает TImage, а не панели под ней. Я же хочу так: если мышь над прозрачной частью картинки - все сообщения от мыши идут на панель. Подскажите как реализовать. Может есть готовый компонент?
PS: Вообще может кто знает FreeWare -ные компоненты или прожку для рисования блочных диаграмм? Это бы мне очень помогло!


 
Virgo_Style ©   (2006-10-18 20:21) [1]

Благодарный слушатель   (18.10.06 20:08)
PS: Вообще может кто знает FreeWare -ные компоненты или прожку для рисования блочных диаграмм? Это бы мне очень помогло!


Dia.


 
Shopot ©   (2006-10-18 20:41) [2]

Картинка чтобы не мигала используй технологию спрайтов.
В любом учебнике по Паскалю про них написанно, и в доках по
разработке игр. А вообще пользоваться левыми компонентами - признак непрофисионализма.
Посмотри в каталоге (там вообще много чего есть для начинающих
и продолжающих) C:\...\Delphi6\Demos\Swat. Это demo игры
где картинки не мигают.


 
Благодарный слушатель   (2006-10-18 21:38) [3]

Благодарю. Интерестно ознакомится со спрайтами.
Но по-моему "левые" компоненты тоже нужны, хотябы чтобы ознакомится с их методами программирования (с тем как они решали эту задачу).
Да к тому же мне далеко до профессионала :)


 
Shopot ©   (2006-10-18 23:34) [4]

>Благодарный слушатель
>Да к тому же мне далеко до профессионала :)

Вот поэтому начинай со стандартных компонент.
Старайся больше делать сам чем другие за тебя будут что-то делать.
Все начинали с простейшего. Бери учебник для начинающих и вперед!!!


 
SerJaNT ©   (2006-10-19 05:14) [5]


>  Как перетаскивать картинку, чтобы она не мигала?


doublebuffered:=true;


 
Думкин ©   (2006-10-19 06:42) [6]


> Shopot ©   (18.10.06 20:41) [2]
> Картинка чтобы не мигала используй технологию спрайтов.
> В любом учебнике по Паскалю про них написанно

Таки и в любом? Я вот ни одного такого не знаю. :(

> А вообще пользоваться левыми компонентами - признак непрофисионализма.

пАчему? И что значит левые?

> Shopot ©

Двойной буер хорошо, но лучше рисовать линии не с помощью Image.


 
Barloggg   (2006-10-19 09:16) [7]


> Если картике тупо менять Left/Top при движении мышью

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


 
Благодарный слушатель   (2006-10-29 10:39) [8]

сделал так:
я рисую все объекты на одной конве (на конве TPaintBox"a).
тк у TPaintBox нет свойства двойной буферизации, я его реализовал сам: Создаю левую имагу. Подсовываю своим объектам канву этой левой имаге для прорисовки, они все на ней рисуют себя. Далее я на нужную мне конву  (TPaintBox"a) копирую эту лувую канву имаге. получается очень быстро и удобно. И никада не мигает! А действия над своими объектами реализовал по такому принципу - TPaintBox передает моему базовуму классу прорисовки все события мыши и клавы, а заправшивает у этого класса курсор и HintText.
Ну а сами мои классы графичсеких объектов используют по полной всю силу наследования! весч! кароче получилось круто. и очень удобно!
И кстати легко можно реализовать масштабирование и Scroll.
хотя с масштабированием возможны проблемы ... стандартны средства уменьшения картинки не впечетляют...



Страницы: 1 вся ветка

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
15-1161927720
clickmaker
2006-10-27 09:42
2006.11.12
Пятничные загадки


2-1161698169
Серый
2006-10-24 17:56
2006.11.12
Memo поле


15-1161632789
cyborg
2006-10-23 23:46
2006.11.12
Может кто нибудь по русски объяснить


2-1161612916
evgenij_
2006-10-23 18:15
2006.11.12
tab.Filter


2-1161931304
_Mouse_
2006-10-27 10:41
2006.11.12
Маленькая проблемка с ComboBox.