Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #6  
Старый 26.05.2013, 02:13
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от xabik
Вывод осуществляется по координатам xz и yz
Это ключевое слово. Стало быть, исходные координаты не портятся. По крайней мере, в приведенном коде. В реальном коде нигде присвоения xz и yz исходным координатам нет?

Смею предположить, что в данном случае может происходить накопление погрешности из-за использования целочисленных координат. Округление при каждом вычислении, -- и вот тебе на.

Можно либо перейти на вещественные xz и yz, либо оперировать дробными пикселями, как это делает формат Flash (SWF). Целому пикселю соответствует изображение при максимальном приближении, а при выводе делится на масштаб и округляется. Не помню, возможны ли в SWF масштабы не в степенях двойки.

Кроме того, как мне кажется, логично и правильно будет отделить хранение от представления. Хранение -- исходные данные -- остаются неизменными. Представление характеризуется масштабом и прямоугольником отсечения, которые передаются в процедуру отрисовки отдельными параметрами. Координаты будут пересчитываться при каждом отображении, и округление будет делаться один раз -- непосредственно перед отрисовкой. Я бы сделал именно так.
Ответить с цитированием
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:12.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025