| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Хранение изображений и их склеивание |
| Автор: L. Joe 12.3.2003, 05:14 |
| Моя программа в процессе работы генерирует изображения, которые должны являються слоями одного целого (это целое выводится на экран с помощью TPaintBox). Как и где можно хранить изображения-слои, чтобы их там же можно было редактировать? Как их потом "склеть", чтобы не копировался белый фон? Если в вопросе что-то не понятно - спрсите. |
| Автор: neutrino 12.3.2003, 05:24 |
| 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. |
| Автор: L. Joe 12.3.2003, 06:23 |
| А как рисовать на TBitMap? В книге написано что его TCanvas - только для чтения. Через API чё-то не получается (может дашь примерчик). |
| Автор: December 13.3.2003, 04:13 |
| Bitmap.Canvas[0,0]:=clRed Вот тебе рисование. Или: Bitmap.Canvas.lineto(100,100) но лучше пользоваьбся ScanLine - быстрее в несколко раз. |
| Автор: L. Joe 13.3.2003, 06:22 | ||
Я пишу:
Но на форме ничего не рисуется. Может что не так? |
| Автор: December 13.3.2003, 06: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 13.3.2003, 07:30 |
| Спасибо, работает. Оказывается TBitMap по умолчанию создаётся с нулевыми размерами. А как сделать чтобы изображение копировалось без фона, т.е. только сама линия? |
| Автор: December 13.3.2003, 09:16 |
| Bitmap.transparent or Canvas.CopyMode |
| Автор: L. Joe 13.3.2003, 23:31 |
| Долго копался в справке, наконец нашёл пример - всё получилось. Оказывается если не указать TBitMap.TransparentColor, то прозрачным будет цвет самого левого нижнего пикселя. |