Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.23;
Скачать: CL | DM;

Вниз

вопрос по повороту Bitmap   Найти похожие ветки 

 
Martyn   (2002-05-21 12:27) [0]

Привет всем!

подскажите, как повернуть изображение физически в файле на 90 градусов: т.е.

dest.width := source.height;
dest.height := source.width;
dest.pixelformat := source.pixelformat;
dest.pallete := source.palette;


 
Martyn   (2002-05-21 12:29) [1]

... забыл добавить: используя WinAPI (скорость очень сильно лимитирует)


 
KilkennyCat ©   (2002-05-22 06:45) [2]

Ну, начнем с того, что WinAPI - не единственное средство повышения скорости (да и не всегда). Можно и по-пикселам. Здесь недавно отвечали о вращении по пикселам. Ну а через Апи - StretchBlt


 
MBo ©   (2002-05-22 08:01) [3]

StretchBlt не вертит на 90, только mirror можно сделать.
кстати, в NT-семействе можно использовать SetWorldTransform,
но в 9X поворот не поддерживается


 
KilkennyCat ©   (2002-05-22 10:58) [4]

Тогда прошу прощения, миррор я делал, но вроде как и вращал тоже... Хорошо, взамен другой совет: воспользоваться GDI+


 
MBo ©   (2002-05-22 12:02) [5]

GDI+
а кто-нибудь уже пользовался? как впечатление?


 
Владимир Васильев ©   (2002-05-22 13:06) [6]

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 : //


 
KilkennyCat ©   (2002-05-22 14:49) [7]

Я пока только скачал GDI+, прочитал от корки до корки доку (в метро ехал) - она может покруче, чем стандартная. К сожалению, времени нет... :( но вращать она матрицами может.


 
Martyn   (2002-05-23 17:00) [8]

2Всех...

Облазил полИнета, в посиках чего-то подходящего..., кстати поворот по пикселям - слишком долго...

так вот, нашел Unit, который для моих задач подошел от и до, поворот изображения на 90 градусов делается за 2-3 секунды...

если кому надо, могу поделиться...

Игорь


 
MBo ©   (2002-05-23 17:30) [9]

>изображения на 90 градусов делается за 2-3 секунды...
Какого размера твои картинки?!?!?!?!?!?!?!?!?!?!
если программа не будет использоваться на Win9X, делай SetWorldTransform, а если будет, я код со scanline дам



Страницы: 1 вся ветка

Текущий архив: 2002.09.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-73566
Starter2
2002-09-03 14:56
2002.09.23
BDE + BCD поля


3-73491
Ag2002
2002-08-31 13:05
2002.09.23
FoxPro


4-73952
Delphi 5.01
2002-08-03 12:56
2002.09.23
kak proverit najati li dve klavishi VK_Shift+VK_R !


14-73851
Alexander Vasjuk
2002-08-19 16:06
2002.09.23
3 дамы с испачкаными лицами


14-73845
Igorek
2002-08-08 10:45
2002.09.23
Попытка номер 2