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

Вниз

Сдвиг изображения   Найти похожие ветки 

 
Виталя   (2008-06-18 15:37) [0]

Товарищи программисты,помогите пожалуйста реализовать фильтр offset фотошопа в делфи


 
MBo ©   (2008-06-18 17:01) [1]

что делает это фильтр (фотошопа не видел)


 
MBo ©   (2008-06-18 17:01) [2]

что делает это фильтр?
(фотошопа не видел)


 
Омлет   (2008-06-18 19:56) [3]

Фильтр Offset (Сдвиг) - сдвигает выделенные области изображения по горизонтали или вертикали на точно заданное число пикселей.

Это самое простое, что можно запрограммировать в фильтрах для граф.редактора ))
Просто копировать нужную часть рисунка с помощью BitBlt или Canvas.CopyRect со смещением. Не вижу тут никаких сложностей в плане алгоритма.


 
Омлет   (2008-06-18 20:11) [4]

type
 TMoveStyle = (msAll, msBack);

procedure MoveBitmap(Src, Dest: TBitmap; Hor, Ver: Integer; Style: TMoveStyle; BackColor: TColor);
var x, y: Integer;
begin
 if (Hor = 0) and (Ver = 0) then Exit;
 Dest.Width := Src.Width;
 Dest.Height := Src.Height;
 Dest.PixelFormat := Src.PixelFormat;
 Dest.Transparent := False;

 if Style = msBack then
   with Dest.Canvas do begin
     Brush.Style := bsSolid;
     Brush.Color := BackColor;
     FillRect(Rect(0, 0, Dest.Width, Dest.Height));
   end;

 if Style = msAll then begin
   if Hor > 0 then x := Hor - Dest.Width
              else x := Dest.Width + Hor;
   if Ver > 0 then y := Ver - Dest.Height
              else y := Dest.Height + Ver;
   if (x <> 0) and (y <> 0) then Dest.Canvas.Draw(x, y, Src);
   Dest.Canvas.Draw(Hor, y, Src);
   Dest.Canvas.Draw(x, Ver, Src);
 end;

 Dest.Canvas.Draw(Hor, Ver, Src);
end;


Src - исходное изображение
Dest - результат
Hor, Ver - число пикселей, на которое будет смещение по горизонтали и вертикали
Style - тип фона: msBack - фон закрашивается цветом BackColor, msAll - смещение происходит с перелезанием конца в начало и низа вверх, либо наоборот.
Выдернуто из старющего проекта, поэтому немного нелогично :)



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1302427279
SIV5000
2011-04-10 13:21
2011.07.17
Message Dialog + текст


11-1235129408
DonJad
2009-02-20 14:30
2011.07.17
KOL размер приложения в оперативной памяти


2-1302510695
MAX
2011-04-11 12:31
2011.07.17
изменить структуру dbf


15-1301435879
Германн
2011-03-30 01:57
2011.07.17
Непонятный глюк.


6-1239963464
HF-Trade
2009-04-17 14:17
2011.07.17
Как и с помощью чего создать SiteMap