Главная страница
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.051 c
11-1062089276
alex_s
2003-08-28 20:47
2004.04.25
expert


3-1080282737
ГАГН
2004-03-26 09:32
2004.04.25
Как в Fast Report е сделать так?


4-1077187045
_hunter_
2004-02-19 13:37
2004.04.25
Получение информации о железе


7-1074159843
alsov
2004-01-15 12:44
2004.04.25
Список функцийй в DLL


1-1081418994
BOA_KAA
2004-04-08 14:09
2004.04.25
Потомок TStringGrid