![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Наложение картинки на картинку
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]А что значит "аля копирайт"? Можно поподробнее? Испортить любой файл - это как "два пальца об асфальт"! А смысл?