Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.06.2010, 21:42   #1
vedro-compota
любитель-далеко не
Профессионал
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Адрес: Россия. Славный город Воронеж )
Сообщений: 1,155
Репутация: 639
По умолчанию Неизменяемый фон для canvas.

Каким образои можно добавить фоновую картинку, чтобы потом просто рисовать поверх неё с помощью свойства canvas (чтобы когда рисуешь эллипс, внутрення область не заливалась) . Может просто можно как-то отключить заливку?
Заранее благодарю. ))
__________________
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума   Ответить с цитированием
Старый 07.06.2010, 22:10   #2
raxp
Профессионал
 
Регистрация: 29.09.2009
Сообщений: 9,730
Репутация: 3006
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 Bitmap1:= TBitMap.Create;
 bitmap2:= TBitMap.Create;

 bitmap2.Transparent:= true;

 Bitmap1.LoadFromFile('1.bmp');
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
 Canvas.Draw(0,0,bitmap1);
 Canvas.Draw(10,50,bitmap2);
в битмап1 грузишь картинку, на битмап2 рисуешь...
__________________
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума   Ответить с цитированием
Старый 07.06.2010, 22:26   #3
vedro-compota
любитель-далеко не
Профессионал
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Адрес: Россия. Славный город Воронеж )
Сообщений: 1,155
Репутация: 639
По умолчанию

Bitmap1
bitmap2 -это переменные ? или компоненты? или не то -не другое? (простите за глупый вопрос - просто во втором номере журнала Программис уже показывали как добавлять , когда игру со змейкой делали- но там без комметариев как-то...)
__________________
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума   Ответить с цитированием
Старый 07.06.2010, 23:09   #4
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 20,994
Репутация: 3436

icq: 446843180
skype: phoenix_proger
По умолчанию

а вы знаете компонент TBitMap(там же конструктор написан)
тем более при конструкторе...это значит что точно не компонент(или динамически создается)
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 08.06.2010, 10:01   #5
vedro-compota
любитель-далеко не
Профессионал
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Адрес: Россия. Славный город Воронеж )
Сообщений: 1,155
Репутация: 639
По умолчанию

Цитата:
а вы знаете компонент TBitMap(там же конструктор написан)
тем более при конструкторе...это значит что точно не компонент(или динамически создается)
попытаюсь понять ))
__________________
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума   Ответить с цитированием
Старый 08.06.2010, 10:48   #6
Вадим Буренков
Профессионал
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
Репутация: 383
По умолчанию

Цитата:
(простите за глупый вопрос - просто во втором номере журнала Программис уже показывали как добавлять , когда игру со змейкой делали- но там без комметариев как-то...)
Все просто. Там спрайт змейки загружается из файла, в котором сам рисунок представляет из себя зеленый кружок на белом фоне. Поскольку поставлен параметр Transparent=true то цвет TransparentColor не рисуется (изначально этот параметр соответствует белому цвету)
Код:
Sprite:= TBitmap.create; // загружаем спрайт
Sprite.LoadFromFile(spr_name);
Sprite.Transparent:= true;
Вадим Буренков вне форума   Ответить с цитированием
Старый 08.06.2010, 13:31   #7
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 20,994
Репутация: 3436

icq: 446843180
skype: phoenix_proger
По умолчанию

Цитата:
(изначально этот параметр соответствует белому цвету)
а разве не левому верхнему пикселю изображения?
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 08.06.2010, 13:33   #8
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Есть два способа нарисовать что-либо с прозрачностью (имеется ввиду с одним прозрачным цветом, а не альфа прозрачность), способы эти зависят от того каким образом и что мы рисуем:

1. Задать прозрачный цвет для рисуемого поверх фона битмапа (работает если выводим битмап функцией Canvas.Draw)

2. Задать прозрачную заливку (работает если выводим граф. примитив)
Canvas.Brush.Style := bsClear;
Теперь если нарисовать к примеру эллипс, то внутри он будет прозрачным.

Цитата:
а разве не левому верхнему пикселю изображения?
Может и да, а может и нет, я например этого не помню, т.к. никогда не пользуюсь этим способом, а использую TImageList + свойство Masked := true; Так намного удобнее.

Что касается белого цвета, то битмап при создании по умолчанию имеет белый цвет кисти, это точно.
__________________
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 08.06.2010 в 13:38.
mutabor вне форума   Ответить с цитированием
Старый 08.06.2010, 13:41   #9
vedro-compota
любитель-далеко не
Профессионал
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Адрес: Россия. Славный город Воронеж )
Сообщений: 1,155
Репутация: 639
По умолчанию

Цитата:
Canvas.Brush.Style := bsClear;
интересно это )) ТОгда по-идее можно рисовать с помощью карандаша на форме поверх компонента image, в который и добавлен фон....да ведь ?
__________________
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума   Ответить с цитированием
Старый 08.06.2010, 13:48   #10
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Цитата:
Сообщение от vedro-compota Посмотреть сообщение
интересно это )) ТОгда по-идее можно рисовать с помощью карандаша на форме поверх компонента image, в который и добавлен фон....да ведь ?
Можно. .
__________________
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фон для ICQ на мобиле mrChester Свободное общение 12 25.05.2010 18:04
Фон =Kroshka= Microsoft Office Word 2 23.07.2009 14:39
Фон страницы для разных браузеров Makarov HTML и CSS 8 19.06.2009 22:32
Помогите нарисовать фон для формы... HunterMan Общие вопросы .NET 3 25.11.2008 11:52
Фон Стаханов_Андрей Помощь студентам 5 04.03.2008 09:20


23:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.