![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вопрос по повороту Bitmap [D5, NT4]
Martyn © (2002-05-21 12:27:00)Привет всем!
подскажите, как повернуть изображение физически в файле на 90 градусов: т.е.
dest.width := source.height;
dest.height := source.width;
dest.pixelformat := source.pixelformat;
dest.pallete := source.palette;
MBo (2002-05-23 17:30:00) [1]>изображения на 90 градусов делается за 2-3 секунды...
Какого размера твои картинки?!?!?!?!?!?!?!?!?!?!
если программа не будет использоваться на Win9X, делай SetWorldTransform, а если будет, я код со scanline дам
Martyn (2002-05-23 17:00:00) [2]2Всех...
Облазил полИнета, в посиках чего-то подходящего..., кстати поворот по пикселям - слишком долго...
так вот, нашел Unit, который для моих задач подошел от и до, поворот изображения на 90 градусов делается за 2-3 секунды...
если кому надо, могу поделиться...
Игорь
KilkennyCat (2002-05-22 14:49:00) [3]Я пока только скачал GDI+, прочитал от корки до корки доку (в метро ехал) - она может покруче, чем стандартная. К сожалению, времени нет... :( но вращать она матрицами может.
Владимир Васильев (2002-05-22 13:06:00) [4]procedure Rotate90( Src: TBitmap32;RotateDir : TRotateDir);
Var
i,j : integer;
Temp : TBitmap32;
W,H : integer;
begin
Temp:=TBitmap32.Create;
try
Temp.SetSize(Src.Height,Src.Width);
W:=Src.Width;
H:=Src.Height;
for i:=0 to W-1 do
for j:=0 to H-1 do
case RotateDir of
rdCW : //
MBo (2002-05-22 12:02:00) [5]GDI+
а кто-нибудь уже пользовался? как впечатление?
KilkennyCat (2002-05-22 10:58:00) [6]Тогда прошу прощения, миррор я делал, но вроде как и вращал тоже... Хорошо, взамен другой совет: воспользоваться GDI+
MBo (2002-05-22 08:01:00) [7]StretchBlt не вертит на 90, только mirror можно сделать.
кстати, в NT-семействе можно использовать SetWorldTransform,
но в 9X поворот не поддерживается
KilkennyCat (2002-05-22 06:45:00) [8]Ну, начнем с того, что WinAPI - не единственное средство повышения скорости (да и не всегда). Можно и по-пикселам. Здесь недавно отвечали о вращении по пикселам. Ну а через Апи - StretchBlt
Martyn (2002-05-21 12:29:00) [9]... забыл добавить: используя WinAPI (скорость очень сильно лимитирует)