Форум программистов, компьютерный форум CyberForum.ru

Delphi и WinAPI

Войти
Регистрация
Восстановить пароль
 
Игорь Тетеркин
0 / 0 / 1
Регистрация: 01.03.2015
Сообщений: 30
#1

Мощение картинкой фон формы - Delphi WinAPI

03.10.2016, 23:29. Просмотров 421. Ответов 1
Метки нет (Все метки)

Написал алгоритм мощения фона. Собственно вот он:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
While bmi^.bmiheader.biWidth*L<rect.Right do
              begin
                While bmi^.bmiheader.biHeight*J<rect.Bottom do
                  begin
                         stretchDiBits(hdc,rect.left+bmi^.bmiheader.biWidth*L,rect.top+bmi^.bmiheader.biHeight*J,
                            bmi^.bmiheader.biWidth,bmi^.bmiheader.biHeight,
                            0,0,bmi^.bmiheader.biWidth, bmi^.bmiheader.biHeight,data,
                            bmi^,DIB_RGB_COLORS,srccopy);
                    J:=J+1;
                  end;
                L:=L+1;
                J:=0;
              end;
Но столкнулся с проблемой. Если картинка маленькая, а окно растягивается до больших размеров, то происходит мерцание.
Прям видно, как фон заполняется картинками.

Обрабатываю в wm_paint. Надо как-то InvalidateRect использовать, но никак не могу понять как именно. Ведь окно отрисовывается всё заново, а надо лишь дорисовывать определённую часть.

Соответственно, надо как-то сначала сохранить то, что уже отрисовалось в окне после этого цикла, а потом сравнивать с новыми размерами окна, если что, то подрисовывать строку или столбец.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2016, 23:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Мощение картинкой фон формы (Delphi WinAPI):

Кнопка с картинкой на WinApi - Delphi WinAPI
Исходник программы, показывающей пример создания стандартной системной кнопки с картинкой. Поддерживаются темы оформления для отрисовки....

Залить фон картинкой - Программирование Android
как залить фон не цветом, а картинкой &lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; ...

Заменить фон картинкой - HTML, CSS
Привет, подскажите как заменить желтый фон на картинке &quot;1&quot; на картинку &quot;баннер&quot;, пробовал искать с гугл не получается.

Как сделать фон картинкой? - Joomla
Подскажите,как в протостаре сделать фон не цветом,а чтоб там картинка была

Залить картинкой фон консоли - C++
Здравствуйте.Подскажите пожалуйста если ли в с++ функции,при помощи которых можно залить в консоль музыку,залить на фон консоли...

Как задать ФОН div-ки картинкой? - HTML, CSS
На страницы есть 2 картинки и 1 div id='kartinka'. При клике по картинке ФОН div-ки должен стать картинкой, но у меня полочается изменить...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BOGG ART
563 / 431 / 123
Регистрация: 09.12.2013
Сообщений: 2,276
Записей в блоге: 2
04.10.2016, 00:21 #2
Создайте кисть-картинку (не помню как оно там по-научному зовётся) и просто заливайте ею.

Добавлено через 1 минуту
Ещё можете обычную двойную буферизацию прикрутить. Хотя вроде не должно мерцать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2016, 00:21
Привет! Вот еще темы с ответами:

Заменить фон графика своей картинкой - Matlab
Можно ли в Matlab'е после построения графика заменить фон своей картинкой? Добавлено через 34 минуты Немного поясню. Есть массив...

Можно ли сделать фон сайта картинкой? - HTML, CSS
Помогите плз можно ли сделать фон сайта картинкой?Если да то как?И напишите теги плз.Пример вот siniyvoin.ucoz.ru, но мож я чего не понмаю...

Как сделать фон сайта картинкой? - HTML, CSS
Есть сайт armaturabelarus.com Вставил картинку фоном размером 2560х1600. ПРОБЛЕМА: КАРТИНКА МЕДЛЕННО ЗАГРУЖАЕТСЯ. КАК РЕШИТЬ ЭТУ...

Как задать фон картинкой, внутри блока через стили? - HTML, CSS
Доброго времени всем. Сразу предупрежу, я новичок в плане верстки. Поэтому не удивляйтесь если напишу что-то не так. Собственно лучший...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru