Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Вниз

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, но реальной скорости так и не добился.
Что посоветуете?




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.013 c
14-75676          petr_v_a              2001-11-22 17:32  2002.01.24  
грабли


4-75717           Miwa                  2001-11-13 09:53  2002.01.24  
Windows Media Player


3-75506           sasa_ch               2001-12-20 13:02  2002.01.24  
как вытащить из таблицы?


3-75487           Котелок               2001-12-20 06:08  2002.01.24  
И снова BDE -((


1-75610           Анатолий              2002-01-07 05:58  2002.01.24  
Форма