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

Вниз

IMAGE   Найти похожие ветки 

 
msys   (2001-12-21 13:30) [0]

ПРИ ДВИЖЕНИИ ИМАГА МИГАЕТ .
КАК ЭТО ПРЕКРАТИТЬ ?
ПОД DELPHI Я НЕ УМЕЮ ПРОРИСОВЫВАТЬ ИМАГУ В ПАМЯТИ.
НАУЧИТЕ !!!


 
olban ©   (2001-12-21 14:16) [1]

Какая разница, Делфи или нет, под Win принципы все одинаковы, ищешь Canvas компонента и на нем рисуешь. А мигает он, скорее всего, потому что стирает старое изображение, а потом рисует новое. А чаше всего можно просто рисовать поверх.


 
Builder ©   (2001-12-21 14:29) [2]

use bitblt


 
Song   (2001-12-24 09:45) [3]

ControlStle:=ControlStyle+[csOpaque];


 
Tolik2002 ©   (2002-01-06 13:23) [4]

А ты пробуй рисовать на Canvs"е, только когда рисуешь в новом месте то не удалей все изображение, а сначала нарисуй новое, а потом только восстанавливай те места, которые "освободились" от твоей картинки.


 
Snake ©   (2002-01-06 14:11) [5]

Извини, кода не помню, но чтобы не мигало, надо забыть про Image. Рисовать надо по принципу DX - на разных экранах. Смысл такой, создаешь некий канвас или bitmap, на нем при помощи, например, Draw, рисуешь нужные объекты, затем, в какой-то момент, при помощи BitBlt рисуешь на нужный канвас, например формы (копируешь), созданный ранее рисунок.


 
MK   (2002-01-06 14:38) [6]

Что-то ничего не понятно...
Во-первых csOpaque куда пихать: в Image или Control, на котором Image
Во-вторых, если Image загружен из файла и перемещается через MouseMove, т.е. именно TImage, а не canvas; то неужели нет механизмов сделать перемещение без мигания?..


 
Snake ©   (2002-01-06 15:33) [7]

Сам контрол Image ты затрахаешься двигать. Может быть и есть какой-то лаз, я не знаю. Но если желаешь, можешь попробовать полезть в API и перехватывать его месааги на перерисовку. И канва никуда не двигается, ты просто на ней рисуешь, что и делается сейчас, только вместо тебя это делает виндовоз, причем как всегда коряво.


 
MK   (2002-01-06 16:34) [8]

Snake, Image я уже двигаю через MouseMove. Причем Image находится на Panel. Картинка, загруженная из файла (что важно), двигается, но мерцает. Если ACDSee у тебя установлен, то можешь сам посмотреть: в Preview прекрасно двигается...


 
Snake ©   (2002-01-06 16:51) [9]

Понял.
1. В ACDSee двигаются images на ScrollBox"е. Можешь сам накидать на эту штуку кучу имэйджев и попробовать - все будет ОК.
2. Картинку в Image ты грузишь хоть и из файла :), но хранится она скорее всего в Image.Picture.Bitmap или Graphic, это не важно, что она из файла. Из файла она прогружается только оди раз. Image - это всего лишь эдакая удобная оболочка для картинок с кучей прибамбасов ;)
3. MouseMove ты можешь отследить у любого TControl, в т.ч. TPanel и рисовать в этом месте все, что хочешь.
Удачи.


 
Yaro ©   (2002-01-07 00:49) [10]

Люди, давайте обсудим принцип "рисование на разных экранах". Я такое под DOC"ом делал на паскале еще, но никак не могу добиться реальных FPS"ов в Delphi. Полставил DelphiX, не могу раздуплиться как работать с помощью DXDraw (поможете? мне массив изобразить надо!!! он изменяется, если это существенно). Рисовал через DXPaintBox, на DeskTop"e, но реальной скорости так и не добился.
Что посоветуете?



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
3-75485
Dick Gonsales
2001-12-14 05:47
2002.01.24
Хранение временных данных


1-75544
Voland
2002-01-06 00:38
2002.01.24
Отключение комбинацый клавиш, и...


3-75524
Dim
2001-12-21 14:34
2002.01.24
Первый раз такое вижу. Что это такое?


1-75567
veles
2001-12-27 08:44
2002.01.24
Выполнение программ


6-75638
Di_wind
2001-11-03 14:56
2002.01.24
пережача файлов по сети