IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Панорама, Как сделать панораму?
сообщение
Сообщение #21


Гость






Бродяжник, надеюсь к критике ты относишься нормально :p2:
Вот это сильно по глазам ударило:
 Timer1.Enabled:=false;

Впринципе как и это
 x:=0;

Можно было бы оформит как инициализированную переменную.
Далее. Можно было бы вырезать кнопочку "maximize", а то смотриться смешно smile.gif

Итого. Вариант неплохой. При маденьких картинках всё "на ура". Поставил большую - мерцало только в путь. Я бы порекомендовал заменить обработчик таймера таким образом, чтобы он вызывал InvalidateRect в нужной области а не Repaint (кнопкам-то зачем лишний раз перерисовывться smile.gif ).
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Гость






Спасибо! Вечером, как только доберусь до Делфи, буду пробовать. lol.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Нормально отношусь! Ламер я... зато со стажем! Таймер я в программе отключил, чтобы наглядно было видно, что при старте программы он должен быть отключен. Когда его на форму кидаешь, он по умолчанию включен. Конечно, его нужно отключать прямо в Инспекторе объектов. А про инициализированные переменные в Дельфи я и правда не знал... я всю жизнь думал, что это привилегия Си. И с InvalidateRect vs Repaint тоже справедливо. А мерцать все равно будет на больших картинках, другое дело, что без двойной буфферизации мерцать будет гораздо мерцательнее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Гость






В зависимости от версии переменные могут быть инициализированы или так Const x:Integer=0; или так Var x:Integer=0;
Первый вариант ещё и в паскале прокатывает. А ещё так можно статические переменные в функциях объявлять... Но это уже к теме не относится...

А про InvalidateRect vs Repaint ещё как справедливо. Насколько я помню так или иначе Repaint сводится к InvalidateRect(Handle,ClientRect). Незачем в таком случае перерисовывать всё...

а ещё мысль извратная появилась: сделать 2 TImage, расположить их друг на друге и делать так:
1). Рисуем в "спрятанном"
2). Выносим его вперёд.
Дальше вроде понятно. Что-то типа "видеостраницы своими руками". Вот в душе не знаю что это даст. Но попробывать можно... Жаль что Delphi под рукой нет sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Version 1.1.


Прикрепленные файлы
Прикрепленный файл  PANORAMB.ZIP ( 11.39 килобайт ) Кол-во скачиваний: 223
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской

Репутация: -  2  +


Alx
Ну а почему у меня процедура не вызывается?
Этот метод вызывается автоматически...
а что не рисует... может картинка не подгрузилась?
я же рабочий пример кинул...

PS: картинка у меня была большая (1024х768) и ничего не мерцало абсолютно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #27


Гость






Ой! Всё супер! Не мерцает! СПАСИБОЧКИ!
Вот только если вы тут такие умные собрались, может скажите, пожалуйста, можно так картинку не БМП, а ЙПГ крутить????? И если да, то как?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Гость






А что jpg нельзя загрузить так же как и bmp? Тогда попроьуй TPaintBox что ли... Позабывал уже всё с этим .Net sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской

Репутация: -  2  +


Alx
насчет bmp и jpeg - я использовал класс TBitmap для загрузки картинки... есть и другие - TJPEGImage, например...
но лучше использовать универсальный TPicture - он сам распознает картинку по расширению файла, а рисовать можно через его свойство Graphic: что-то типа form1.canvas.draw(...., picture1.graphic);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 18:59
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name