Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 10.08.2015
Сообщений: 12

Копирование/перемещение памяти

10.08.2015, 09:45. Показов 4355. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Вопрос заключается в следующем:
Есть указатель на кадр полученный от камеры/файла, но этот кадр отражен зеркально по горизонтали.
Как его максимально быстро перевернуть?
изспользовал такую схему
Delphi
1
2
3
4
5
    for y := 0 to VIDEO_H-1 do
    begin
      Move(src^, player.bmpi.ScanLine[y]^, VIDEO_ByteWidth);
      Inc(src, VIDEO_ByteWidth);
    end;
При этом видео мерцает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.08.2015, 09:45
Ответы с готовыми решениями:

Копирование/перемещение папки
Спасибо большое Вам за то, что помогаете мне, но у меня ещё один небольшой вопрос: каким образом можно скопировать/переместить полностью...

Копирование и перемещение папки с файлами
Существует папка, размещенная по постоянному пути. К примеру "C:\\Programma\directory for...

Копирование и перемещение файлов в архиве С#
Доброго времени суток. Подскажите пожалуйста как можно скопировать или переместить файл по имени из одного архива в другой не расспаковывая...

29
0 / 0 / 0
Регистрация: 10.08.2015
Сообщений: 12
10.08.2015, 18:17  [ТС]
Студворк — интернет-сервис помощи студентам
растет в этом месте
Delphi
1
Image1.Picture.Bitmap.Assign(player.bmpi);
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
10.08.2015, 18:39
Цитата Сообщение от krapotkin Посмотреть сообщение
видео мерцает, если картинку перерисовывает еще кто-то кроме вас
к обработке это никакого отношения не имеет
Нет. Мерцание происходит в том случае, если обрабатывать непосредственно в отображаемом изображении и в ходе одной обработки менять цвет одних и тех де пикселей или цвета/координаты одних и тех же векторов более одного раза и при этом не блокировать отображение до окончания каждой обработки. Обработка должна или менять каждый цвет/координату ровно один раз, или происходить или строго между кадрами, или во внеэкранном буфере. Тогда мерцать не будет.
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,681
Записей в блоге: 21
10.08.2015, 19:19
согласен.
во времена VGA мы отлавливали прерывания обратного хода луча чтобы сменить картинку в буфере видеокарты
но мерцание мерцанию рознь
иногда тут люди умудряются рисовать на форме, потом форма перерисовывает фон и т.д.
вот там мерцание, так мерцание...
но строго между кадрами в VCL без DirectX невозможно. Так что некоторое мерцание будет присутствовать всегда
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
10.08.2015, 19:42
Вывод не правильный.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
AlfaBuffer=Alfa;
for (x:=-10.0; x<=10.0; x+=0.1
{
 for (y=-10.0; y<=10.0; y+=0.1)
 {
   if (((int)(y*10))==((int)(sin(x+AlfaBuffer)*10)))
   {
    Image1.Canvas.Pixels[50+x*10][50-y*10]=clBlack;
   }
   else
   {
    Image1.Canvas.Pixels[50+x*10][50-y*10]=clWhite;
   }
 }
}
. В течении обработки каждый пиксел перекрашивается ровно один раз, мерцания нет. Правда возможны рывки. Но не мерцание. А фокус в том, что здесь сразу вычисляется, будет ли пиксел фоновым, или закрашенным и только потом происходить рисование. А ведь ещё модно рисовать во внеэкранном буфере и выводить, когда буфер завершён. Мерцание происходит от того, что один и тот де пиксел перекрашивается сначала в цвет фона, а потом в цвет изображения, с какой бы частотой это не происходило, это и будет мерцанием. Совсем другое дело, когда по экрану медленно движется объект, фазы его движения перерисовываются часто, а пиксел перекрашивается в цвет фона, когда его через много кадров покинул объект, это уже не мерцание, а само движение.
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,681
Записей в блоге: 21
11.08.2015, 07:24
то что рисование должно происходить во внеэкранном буфере, это, мне кажется, просто очевидно должно быть

Цитата Сообщение от V_W Посмотреть сообщение
Image1.Picture.Bitmap.Assign(player.bmpi );
заменить Assign на рисование Image1.Canvas.Draw или Image1.Canvas.Copyrect
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
11.08.2015, 07:47
Цитата Сообщение от krapotkin Посмотреть сообщение
то что рисование должно происходить во внеэкранном буфере, это, мне кажется, просто очевидно должно быть
Не всегда во внеэкранном. Это зависит от того, как определяется окончательный цвет пиксела: в одно рисование, или уточняется постепенно и как происходит закрашивание фона: сплошняком на весь квад, или только там, где действительно должен быть фон. И не для всех очевидно, а только для тех, кто уже избавлялся от мерцания.
0
0 / 0 / 0
Регистрация: 10.08.2015
Сообщений: 12
11.08.2015, 11:10  [ТС]
Добрый всем день.
Все оказалось проще. Реализовав тот же код qt все было правильно, так же как и на d7.
Но ночью меня осенило! в delphi 7 - 2007 и delphi 2010-XE* типы PWideChar и PAnsiChar попутаны.
в D7-2007 PChar=PAnsiChar в D2010-XE* PChar=PWideChar
Очень давно у меня была подобная проблема, я тогда не мог подключиться к БД.
Спасибо всем за помощь.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
11.08.2015, 11:35
Цитата Сообщение от V_W Посмотреть сообщение
Реализовав тот же код qt все было правильно,
Нда. Всё реализовало код и при этом было правильно. Наверное и стол реализацией кода занимался, и стены, и люстра, и настольная лампа, и Солнце за окном, и само окно. Не смешно, а потому учите русский, господин товарищь.
0
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
17.08.2015, 02:18
Цитата Сообщение от V_W Посмотреть сообщение
Но ночью меня осенило! в delphi 7 - 2007 и delphi 2010-XE* типы PWideChar и PAnsiChar попутаны.
Ох эти троешники, дети Флёнова.
Чтоб им всем гореть в аду!
0
17.08.2015, 20:57

Не по теме:

Цитата Сообщение от V_W Посмотреть сообщение
типы PWideChar и PAnsiChar попутаны
Хто ж тот бес-злодей, который попутал тебя, явно указав где Wide, а где Ansi ?)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.08.2015, 20:57

Копирование и перемещение в Командной строке
Доброго времени суток. Задача - перемещать из сетевой папки(test1) в локальную(test2) все файлы и папки которые появляются в сетевой...

Копирование, переименование, перемещение и удаление файла
Разработать программу, которая выполняет копирование, переименование, перемещение и удаление заданного файла. Файл, операция и ее...

Медленное копирование и перемещение файлов в Windows XP
Система медленно копирует файлы с раздела HDD на раздел(1ГБ за 4 минуты одним файлом) Винда: Xp BLUE VERSION x32 оперативка: 4 GB ...

Копирование и перемещение файла. Программа зависает.
Здравствуйте. Имеется следующая программа: копируем файл из одного места в другоеи вторая кнопка перемещем файл. Код и скриншот...

Копирование/перемещение файлов с удаленного компьютера
У нас на фирме, для копирования файлов с удаленных компьютеров используется Radmin. На удаленных компьютерах операторов нет, и данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru