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

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

Поворот изображения


Игорь Г. ©   (2003-08-08 00:21:00) 

Подскажите пожалуйста, как перевернуть изображение в компоненте TImage на 90 градусов? Или как перевернуть TBitmap или jpeg?


Fenik   (2003-11-23 13:31:00) [1]

>Fenik ©  (08.08.03 11:23)

Что это за глюк форума?


Fenik   (2003-08-08 11:23:00) [2]

procedure Rotate90(Bitmap: TBitmap);
var x, y, W, H: Integer;
   Dest: pRGBTriple;
   VertArray: array of pByteArray;
   Bmp: TBitmap;
begin
 Bitmap.PixelFormat := pf24Bit;
 Bmp := TBitmap.Create;
 try
   Bmp.Assign(Bitmap);
   W := Bitmap.Width - 1;
   H := Bitmap.Height - 1;
   Bitmap.Width := H + 1;
   Bitmap.Height := W + 1;
   SetLength(VertArray, H + 1);
   for y := 0 to H do VertArray[y] := Bmp.ScanLine[H-y];
   for x := 0 to W do begin
     Dest := Bitmap.ScanLine[x];
     for y := 0 to H do begin
       with Dest^ do begin
         rgbtBlue := VertArray[y, x*3];
         rgbtGreen := VertArray[y, x*3+1];
         rgbtRed := VertArray[y, x*3+2];
       end;
       Inc(Dest);
     end;
   end
 finally
   Bmp.Free;
 end;
end;


Zev   (2003-08-08 07:43:00) [3]

http://www.bcbdev.ru/cbuilder/articles/bmprotation/bmprotation.htm


MBo   (2003-08-08 06:45:00) [4]

С помощью ScanLine или
http://www.delphimaster.ru/articles/pixels/index.html


Наверх

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