Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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, но реальной скорости так и не добился.
Что посоветуете?



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

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

Наверх





Память: 0.46 MB
Время: 0.004 c
1-75568
NNC
2002-01-06 14:21
2002.01.24
Вопросик!


1-75575
Vitalik
2002-01-06 21:03
2002.01.24
чтение строки из файла посредством TMemoryStream


14-75669
Knight
2001-11-23 19:30
2002.01.24
И ещё кое-что нужно!!!!!


3-75534
Hawk2
2001-12-21 12:39
2002.01.24
Индескация с помощью SQL-запросов.


3-75484
Delirium
2001-12-19 16:44
2002.01.24
RecordSet - > Paradox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский