Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
ВнизПомогите работать с 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c