Главная страница
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.029 c
11-1063738459
Dimaxx
2003-09-16 22:54
2004.04.25
Печать графики


14-1081161793
Nick-From
2004-04-05 14:43
2004.04.25
Вырубание win 2000 через бат


1-1081332908
Bond
2004-04-07 14:15
2004.04.25
Диаграммы


11-1063298206
Hlomzik
2003-09-11 20:36
2004.04.25
Exe не изменяется!


14-1080720175
newone
2004-03-31 12:02
2004.04.25
Help!