tavria2

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Drusus Цитата: В примере ImageViewer 1.2 c http://gooseweb.ru/ для расчёта пропорций написан огромный код в GlobalFunctions, который выполняется очень долго, задержка вывода картинок приличная. | Я так понял это камень в мой огород . Код совсем даже не огромный и кол-во строк этого кода никак не сказывается на скорости работы проекта. Если интересно, посмотри объем кода моего примера "EasySlider", в которм ползунок слайдера меняет свою позицию со скоростью движения мышки и ничего не тормозит. Все дело в размере картинки, чем она больше тем больше тормоз, который связан с медлительностью объекта "Image". Если хочешь получить высокую скорость обработки графики - смотри в сторону WinApi. Цитата: Скажем, маска размером 400х300 пикселей, в неё нужно последовательно грузить картинки 1024х768, 500х700 и других размеров, при этом, чтобы пропорции снимка сохранялись. | Ну, для начала давай уточним. Маска применяется к окну или к объекту имеющему handle для отображения/скрытия определенных участков(регионов) и не влияет на реальные размеры окна или объекта. Картинку загружаем не в маску, а в объект "Image", который не имеет handle и соответственно к нему нельзя применить маску. Цитата: Сейчас, если гружу картинку, например, широкую, то выравнивается её ширина с шириной маски, а высота меняется не пропорционально, а растягивается по высоте маски (stretch). | Скорее всего ты устанавливаешь размер картинки равный размеру окна. Для соблюдения пропорций при изменении размеров картинки нужно учитывать коэффициент соотношения сторон, который нужно получить до изменения размеров. Цитата: А фрагмент кода ниже, вообще, по-моему, неудачный. | Что именно тебе кажется не удачным? Цитата: При показе на FullScreen может и незаметно, а при выводе в маску, картинка вначале загружается в одно место, а потом заметно скачет в другое. | Ну здесь по моему полный нонсенс, в большом окне не заметно, а в маленьком заметно. Внимательно проанализируй код, там все операции связанные с изменением позиции и размеров картинки, выполняются когда объект "Image" скрыт и отображается только после всех манипуляций. GOOSE Цитата: а задачу решил через SQLite, но и этот метод помучаю еще | К сожалению мне не приходилось работать с SQLite, но я предполагаю, что ты делаешь поиск по базе SQL и в ней получаешь номер строки и колонки найденного значения. Если так, то при большой базе ты несомненно получишь выигрыш в скорости, но только, если в DataGrid не будет производиться никаких изменений (редактирование, сортировка и т.д), т.к. прийдется синхронизировать DataGrid и базу SQL, т.е переброс данных из DataGrid в базу SQL. Если все-же в DataGrid планируются вносить изменения, тогда выигрыш в скорости будет у моего метода поиска. Цитата: Подумаю. | Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 00:23 12-09-2007 | Исправлено: tavria2, 00:55 12-09-2007 |
|