|
Модераторы: Poseidon, Snowy, bems, MetalFan |
|
L. Joe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.2.2003 Где: Москва, м. Севаст опольская Репутация: нет Всего: нет |
Моя программа в процессе работы генерирует изображения, которые должны являються слоями одного целого (это целое выводится на экран с помощью TPaintBox). Как и где можно хранить изображения-слои, чтобы их там же можно было редактировать? Как их потом "склеть", чтобы не копировался белый фон?
Если в вопросе что-то не понятно - спрсите. |
|||
|
||||
neutrino |
|
|||
Gothic soul Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Hranit' v TBitmap, naprimer. A skleit' mojno tak: samyi' nijnii' risuetsja pervyi' potom tot, chto nad nim. A cveta... Nu opredeli kakoi' budet prozrachnyi' cvet (kak ty skazal belyi') i risui' popiksel'no vse cveta, krome nego. Pravda dolgo budet rabotat'. Skoree vsego dlja jetogo uje est' gotovye funkcii.
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
L. Joe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.2.2003 Где: Москва, м. Севаст опольская Репутация: нет Всего: нет |
А как рисовать на TBitMap? В книге написано что его TCanvas - только для чтения. Через API чё-то не получается (может дашь примерчик).
|
|||
|
||||
December |
|
|||
Antitheorist Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Bitmap.Canvas[0,0]:=clRed
Вот тебе рисование. Или: Bitmap.Canvas.lineto(100,100) но лучше пользоваьбся ScanLine - быстрее в несколко раз. |
|||
|
||||
L. Joe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.2.2003 Где: Москва, м. Севаст опольская Репутация: нет Всего: нет |
Я пишу:
Но на форме ничего не рисуется. Может что не так? |
|||
|
||||
December |
|
|||
Antitheorist Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
b := TBitMap.Create;
> b.Width:=100; > b.Height:=100; r := Rect(0, 0, 100, 100); b.Canvas.MoveTo(0,0); b.Canvas.LineTo(100,100); Form1.Canvas.CopyRect(r, b.Canvas, r); > b.Free; !!!!! Never forget to free resources!!!! |
|||
|
||||
L. Joe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.2.2003 Где: Москва, м. Севаст опольская Репутация: нет Всего: нет |
Спасибо, работает. Оказывается TBitMap по умолчанию создаётся с нулевыми размерами.
А как сделать чтобы изображение копировалось без фона, т.е. только сама линия? |
|||
|
||||
December |
|
|||
Antitheorist Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Bitmap.transparent
or Canvas.CopyMode |
|||
|
||||
L. Joe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.2.2003 Где: Москва, м. Севаст опольская Репутация: нет Всего: нет |
Долго копался в справке, наконец нашёл пример - всё получилось. Оказывается если не указать TBitMap.TransparentColor, то прозрачным будет цвет самого левого нижнего пикселя.
|
|||
|
||||
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |