Форум: "Начинающим";
Текущий архив: 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