Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хранение изображений и их склеивание, Нужен способ 
:(
    Опции темы
L. Joe
Дата 12.3.2003, 05:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2003
Где: Москва, м. Севаст опольская

Репутация: нет
Всего: нет



Моя программа в процессе работы генерирует изображения, которые должны являються слоями одного целого (это целое выводится на экран с помощью TPaintBox). Как и где можно хранить изображения-слои, чтобы их там же можно было редактировать? Как их потом "склеть", чтобы не копировался белый фон?

Если в вопросе что-то не понятно - спрсите.
PM MAIL WWW   Вверх
neutrino
Дата 12.3.2003, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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 
PM MAIL WWW ICQ Skype GTalk   Вверх
L. Joe
Дата 12.3.2003, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2003
Где: Москва, м. Севаст опольская

Репутация: нет
Всего: нет



А как рисовать на TBitMap? В книге написано что его TCanvas - только для чтения. Через API чё-то не получается (может дашь примерчик).
PM MAIL WWW   Вверх
December
Дата 13.3.2003, 04:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Bitmap.Canvas[0,0]:=clRed
Вот тебе рисование.
Или: Bitmap.Canvas.lineto(100,100)
но лучше пользоваьбся ScanLine - быстрее в несколко раз.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
L. Joe
Дата 13.3.2003, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2003
Где: Москва, м. Севаст опольская

Репутация: нет
Всего: нет



Я пишу:
Код

procedure TForm1.FormPaint(Sender: TObject);
var b: TBitMap;
     r: TRect;
begin
   b := TBitMap.Create;
   r := Rect(0, 0, 100, 100);
   b.Canvas.LineTo(100,100);
   Form1.Canvas.CopyRect(r, b.Canvas, r);
end;

Но на форме ничего не рисуется. Может что не так?
PM MAIL WWW   Вверх
December
Дата 13.3.2003, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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!!!!


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
L. Joe
Дата 13.3.2003, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2003
Где: Москва, м. Севаст опольская

Репутация: нет
Всего: нет



Спасибо, работает. Оказывается TBitMap по умолчанию создаётся с нулевыми размерами.

А как сделать чтобы изображение копировалось без фона, т.е. только сама линия?
PM MAIL WWW   Вверх
December
Дата 13.3.2003, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Bitmap.transparent
or
Canvas.CopyMode


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
L. Joe
Дата 13.3.2003, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.2.2003
Где: Москва, м. Севаст опольская

Репутация: нет
Всего: нет



Долго копался в справке, наконец нашёл пример - всё получилось. Оказывается если не указать TBitMap.TransparentColor, то прозрачным будет цвет самого левого нижнего пикселя.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1338 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.