Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.12.14;
Скачать: [xml.tar.bz2];

Вниз

Приоритет или ускорение???   Найти похожие ветки 

 
Zhekson   (2008-11-07 10:01) [0]

Имеется приложение, которое работает с изображениями. По необходимости происходит многократная загрузка BMP файла в компонент TImage(мышью перетаскиваю объекты). Как максимально ускорить процесс загрузки, перепрорисовки и вообще работы приложения? Спс.


 
KSergey ©   (2008-11-07 10:05) [1]

ккой-то неконкретный вопрос.
а что происходит медленно? может просто мьше медленно перемещается? как именно и что отображается?


 
Zhekson   (2008-11-07 10:11) [2]

KSergey ©   (07.11.08 10:05) [1]

перемещение происходит с некоторой задержкой. На сильных компах она почти незаметна, а на более слабых, она более очевидна.

повторю неконкретный вопрос, на всякий случай:

> Как максимально ускорить процесс загрузки, перепрорисовки
> и вообще работы приложения?


 
clickmaker ©   (2008-11-07 10:14) [3]

DoubleBuffered?

и не совсем понятно, как связаны "происходит многократная загрузка BMP файла в компонент TImage" и "мышью перетаскиваю объекты"?


 
Zhekson   (2008-11-07 10:22) [4]

clickmaker ©   (07.11.08 10:14) [3]

DoubleBuffered - не знаю с чем связано, но это свойство искажает отображаемые на форме компоненты.


> и не совсем понятно, как связаны "происходит многократная
> загрузка BMP файла в компонент TImage" и "мышью перетаскиваю
> объекты"?

Задача - обозначить ломаные изображения точками, соединёнными линиями, для этого использую массив координат точек и при изменении(перетаскивании) координат одной из точек перепрорисовываю все точки с учётом изменения коодинат перемещаемого мной объекта.


 
clickmaker ©   (2008-11-07 10:26) [5]

> перепрорисовываю все точки

так а файл-то тут каким боком?


 
Zhekson   (2008-11-07 10:31) [6]

clickmaker ©   (07.11.08 10:26) [5]

старые точки стираю, путём перезегрузки исходного изображения и перепрорисовки уже указанных точек.


 
clickmaker ©   (2008-11-07 10:36) [7]

а не лучше ли использовать растровую операцию "искл. или"?
нарисовал один раз - появилось. Нарисовал второй в том же месте - стерлось


 
Anatoly Podgoretsky ©   (2008-11-07 10:37) [8]

> clickmaker  (07.11.2008 10:14:03)  [3]

Началось :-)


 
Правильный$Вася   (2008-11-07 10:46) [9]

зачем грузить многократно одно и то же, если можно загрузить один рази хранить в памяти?


 
Zhekson   (2008-11-07 10:49) [10]

clickmaker ©   (07.11.08 10:36) [7]

может и лучше, только как запоминать участки, поверх которых рисуются точки, а главное участки под линиями, соединяющими эти точки???


 
Zhekson   (2008-11-07 10:51) [11]

Правильный$Вася   (07.11.08 10:46) [9]

Спасибо Вася, ты в каждой ветке даёшь мне надежду, что у меня всё ещё не так запущено)))


 
clickmaker ©   (2008-11-07 10:53) [12]

> может и лучше, только как запоминать участки

а их в этом случае и не надо запоминать.
С графическим редактором работал? Там, когда рисуется "резиновый" контур будущей фигуры, именно эта операция и используется. Безо всякого ущерба для уже нарисованного и дерганья файла


 
Zhekson   (2008-11-07 10:58) [13]

clickmaker ©   (07.11.08 10:53) [12]

на словах всё просто, каков механизм???


 
clickmaker ©   (2008-11-07 11:04) [14]

> на словах всё просто

а на деле тоже.
1. движение мыши - рисуем линию xor-ом, запомнили координаты
2. следующее движение - рисуем линию xor-ом по запомненным координатам - линия стирается, затем п.1 по новым координатам
и т.д.


 
Zhekson   (2008-11-07 11:18) [15]

clickmaker ©   (07.11.08 11:04) [14]

> линия стирается


а рисунок под линией???


 
clickmaker ©   (2008-11-07 11:25) [16]

> а рисунок под линией???

да сколько раз можно говорить? суть xor как раз в этом и есть, что стирается только то, что было нарисовано по тем же координатам и тоже с использованием xor
ты бы хоть попробовал уже, а?


 
Zhekson   (2008-11-07 11:28) [17]

clickmaker ©   (07.11.08 11:25) [16]
сорри.

спасибо, буду пробовать.


 
Anatoly Podgoretsky ©   (2008-11-07 11:32) [18]

> Zhekson  (07.11.2008 11:18:15)  [15]

Восстанавливается

Да - Нет - Да
0 0 0
0 1 1
1 0 1
1 1 0


 
Zhekson   (2008-11-07 11:40) [19]

Anatoly Podgoretsky ©   (07.11.08 11:32) [18] clickmaker ©   (07.11.08 11:25) [16]

заранее предупреждаю, категория дла начинающих, поэтому тормозить имею право!!!

функции рисования выглядят следующим образом:

Image1.Canvas.MoveTo(linex, liney);
Image1.Canvas.LineTo(kx, ky);


как используя исключение (xor) прорисовать, по этим же координатам, линию???


 
Сергей М. ©   (2008-11-07 11:44) [20]


> Zhekson   (07.11.08 11:40) [19]


см. TCanvas.Pen.Mode


 
Anatoly Podgoretsky ©   (2008-11-07 11:54) [21]

Рядовая справка говорит:

> The line is drawn using Pen.

Смотреть свойства TPen, TPenMode
Второе определяет режим вывода точек.


 
Zhekson   (2008-11-07 11:55) [22]

clickmaker ©  
спасибо за терпение и помощь!

Anatoly Podgoretsky ©  
спасибо.

Сергей М. ©  
чесслово, прослезился))) ни намёка на провокацию)))
спасибо.


 
Anatoly Podgoretsky ©   (2008-11-07 11:56) [23]

Желательно создать тестовое приложение, что бы поиграться с разными режимами.

Нужны две кнопки

Восстановить полотно
Нарисовать линию

И комбо для выбора режима.


 
Zhekson   (2008-11-07 11:56) [24]

Картинка ожила!!!


 
Сергей М. ©   (2008-11-07 11:58) [25]


> Zhekson   (07.11.08 11:55) [22]


Ушанка потихоньку наполняется, знать быть тебе миллионером)


 
Zhekson   (2008-11-07 12:03) [26]

Anatoly Podgoretsky ©   (07.11.08 11:56) [23]

Хотите верьте, хотите нет, а так и сделаю... так глядишь и прийдёт, на смену надоевшему Paint_у, MegaPaint from Zheksonz)))

Сергей М. ©   (07.11.08 11:58) [25]
Маленько не удержал))) Ну не страшно, в этот раз коэффициент обидности минимален))


 
Anatoly Podgoretsky ©   (2008-11-07 16:32) [27]

> Zhekson  (07.11.2008 12:03:26)  [26]

Тестовое приложение хороший метод для проверки и отладки идей.


 
Zhekson   (2008-11-07 16:51) [28]

Anatoly Podgoretsky ©   (07.11.08 16:32) [27]
Не поспоришь, частенько приходится ваять макеты(каркасы) необходимых узлов приложения, отдельно от программы...



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

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

Наверх





Память: 0.51 MB
Время: 0.006 c
15-1223904876
dr_creigan
2008-10-13 17:34
2008.12.14
проблемы с вистой


3-1211199157
Crookers
2008-05-19 16:12
2008.12.14
Складывание полей DBGrid


2-1225724398
Vova1995
2008-11-03 17:59
2008.12.14
ListBox


15-1223422467
Real
2008-10-08 03:34
2008.12.14
TEmbeddedWB - ошибка установки


2-1225873957
Mozgan
2008-11-05 11:32
2008.12.14
Получить значение DBLookupComboBox1





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