Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-1081429340
Russko
2004-04-08 17:02
2004.04.25
Количество файлов в каталоге


4-1078073537
Morg
2004-02-29 19:52
2004.04.25
Как поменять время ?


3-1080567190
venus
2004-03-29 17:33
2004.04.25
Чтение данных из файла в IB-базу :)


3-1080214290
viktor
2004-03-25 14:31
2004.04.25
SQL


11-1042971278
Igit
2003-01-19 13:14
2004.04.25
Горизонтальный скролл в ListBox




   Наверх