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

Вниз

У меня есть битмап. Как его отобразить слева на право?   Найти похожие ветки 

 
Крусайдер   (2004-01-17 03:03) [0]

У меня есть битмап. Как его отобразить слева на право?


 
Князев Сергей   (2004-01-17 13:19) [1]

scanline
а потом отражение строки любым доступным методом


 
Fenik ©   (2004-01-17 14:14) [2]

procedure FlipBitmap(Bitmap: TBitmap; FlipHor: Boolean);
{Зеркальное отражение изображения.
Если FlipHor = True, то отражение по горизонтали,
иначе по вертикали.}
var x, y, W, H: Integer;
   Pixel_1, Pixel_2: PRGBTriple;
   MemPixel: TRGBTriple;
begin
 Bitmap.PixelFormat := pf24Bit;
 W := Bitmap.Width - 1;
 H := Bitmap.Height - 1;
 if FlipHor then {отражение по горизонтали}
   for y := 0 to H do begin
       {помещаем оба указателя на строку H:}
     Pixel_1 := Bitmap.ScanLine[y];
     Pixel_2 := Bitmap.ScanLine[y];
       {помещаем второй указатель в конец строки:}
     Inc(Pixel_2, W);
       {цикл идёт только до середины строки:}
     for x := 0 to W div 2 do begin
         {симметричные точки обмениваются цветами:}
       MemPixel := Pixel_1^;
       Pixel_1^ := Pixel_2^;
       Pixel_2^ := MemPixel;
       Inc(Pixel_1); {смещаем указатель вправо}
       Dec(Pixel_2); {смещаем указатель влево}
     end;
   end
 else {отражение по вертикали}
   {цикл идёт только до средней строки:}
   for y := 0 to H div 2 do begin
       {помещаем первый указатель на строку H,
        а второй на строку симметричную H:}
     Pixel_1 := Bitmap.ScanLine[y];
     Pixel_2 := Bitmap.ScanLine[H - y];
     for x := 0 to W do begin
         {симметричные точки обмениваются цветами:}
       MemPixel := Pixel_1^;
       Pixel_1^ := Pixel_2^;
       Pixel_2^ := MemPixel;
       Inc(Pixel_1); {смещаем указатель вправо}
       Inc(Pixel_2); {смещаем указатель вправо}
     end;
   end;
end;


 
Crusader ©   (2004-01-17 15:51) [3]

пасибо!


 
Strumpf   (2004-01-17 16:16) [4]

А это зависит от того, о каком праве идет речь...


 
$HUR!K   (2004-01-18 20:39) [5]

!!! А как это сделать в DelphiX ???!!!
(месяца два пытаюсь это выяснить :(


 
Mihey ©   (2004-01-18 21:50) [6]

А точно также. Канва то есть.



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1080974801
guest_Dmitry
2004-04-03 10:46
2004.04.25
fib_tree_rs


14-1080355228
Новичек
2004-03-27 05:40
2004.04.25
DelphiX .rar в Кладовке


7-1077726910
Phantomaz
2004-02-25 19:35
2004.04.25
Почему SetWindowsHookEx не пашет, если активно Dos-окно ?


9-1066578502
vitalick
2003-10-19 19:48
2004.04.25
Книги


3-1080405086
HeoGtan
2004-03-27 19:31
2004.04.25
Вопрос по D7+ADO+MS.ACCESS97...