Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.086 c
15-1161904888
SPeller_work
2006-10-27 03:21
2006.11.12
Неудачный downgrade BIOS-а


2-1161938208
JTAG
2006-10-27 12:36
2006.11.12
Добрый день, подскажите плз, как изменить указатель


2-1161876703
T54
2006-10-26 19:31
2006.11.12
Событие onClick


15-1161891696
Alral
2006-10-26 23:41
2006.11.12
Книга Delphi в шутку и всерьез. Где взять файлы на CD?


2-1161944511
RomanH
2006-10-27 14:21
2006.11.12
Опять эти MDI-окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский