Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Наложение картинки на картинку


funky ©   (2006-10-31 01:52:00) 

Привет. У меня есть ~10000 .jpg файлов, все одинакового размера, нужно в каждом вставить др. .jpg фаил в одинаковое место (аля копирайт).

Тоесть представляю себе это примерно так:
1. Image1.Picture.LoadFromFile('X:\1.jpg');
2. <вставляем поверх др. фаил>;
3. Image1.Picture.SaveToFile('X:\1_edit.jpg');

Вопрос, как реализовать 2-ой пункт? %)
Извените за такой вопрос, просто я даже преблезительно не представляю себе, как это выполнить. %)


funky   (2006-11-02 00:13:00) [1]

Pavia ©   (02.11.06 00:10) [9]
Класс =) Спасиб.


Pavia   (2006-11-02 00:10:00) [2]

Нет в гиф не нужно.
У  стандартного TBitmap есть три свойства
     Transparent := True;
     TransParentColor := Color;
     или автаматически(bottom-leftmost pixel) определить цвет.
     TransparentMode := tmAuto;
рисовать такой битмап через
     Canvas.Draw(50,50,BitMap);

Еще раз алгоритм: открыть JPEG файл получить Bitmap нарисовать картинку сохранить обратно в JPEG.


funky   (2006-11-01 23:51:00) [3]

Извените если достал уже, но подскажите как сделать у накладываемой картинки прозрачный фон? Её наверно сначало нужно в гиф конвертнуть, потом Transparent := true; сделать, а потом накладывать? как в jpg конвертнуть - знаю. а в гиф? =/


Джо   (2006-11-01 14:10:00) [4]

А можно и Image1.Picture.Bitmap.Canvas.Draw (X,Y,Bmp);


funky   (2006-11-01 00:22:00) [5]

Image1.Picture.Bitmap.Canvas.CopyRect(rect(10, 10, bmp.Width, bmp.Height),bmp.Canvas,rect(10,10, bmp.Width, bmp.Height));

Врубился %)


funky   (2006-11-01 00:09:00) [6]

Джо ©   (31.10.06 03:08) [4]

bmp := TBitMap.Create;
bmp.LoadFromFile('X:\2.bmp');
Image1.Picture.LoadFromFile('X:\1.bmp');
Image1.Picture.Bitmap.Canvas.CopyRect(bmp.Canvas.ClipRect,bmp.Canvas,bmp.Canvas. ClipRect);

Правельно? А как указывать координаты?


Джо   (2006-10-31 03:08:00) [7]

> Вопрос, как реализовать 2-ой пункт? %)

Bmp: TBitmap;
...
Bmp.LoadFromFile (файл с логотипом).
Image1.Picture.Bitmap.Canvas.CopyRect(Bmp.Canvas,...);


Германн   (2006-10-31 02:40:00) [8]

Время уже весьма позднее для меня, так что извини. Но не поможет ли тебе CopyRect?


funky   (2006-10-31 02:34:00) [9]

Германн ©   (31.10.06 02:27) [1]
Ну смотри, перед тем, как выложить эти файлы в сеть, нужно на них в нижнем углу добавить логотип, что-то вроде, сдела-но тем-то, мэил такой-то. На всякий случай, для связи.

Знаешь как 2е картинки объеденить?
Можно конечно и просто текст добавить:
Image1.Canvas.TextOut(1,1,'E-mail: ---');
Но, всё же желательно картинку.


Германн   (2006-10-31 02:27:00) [10]

А что значит "аля копирайт"? Можно поподробнее? Испортить любой файл - это как "два пальца об асфальт"! А смысл?


Наверх

Титульная страница Поиск, карта сайта Написать письмо