Главная страница
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.01 c
15-1301597976
Медвежонок Пятачок
2011-03-31 22:59
2011.07.17
кажется началось


15-1301938826
vrem
2011-04-04 21:40
2011.07.17
Уплавнение: То, ради чего стоит поменять процессор и видеокарту


15-1301468622
eclipse
2011-03-30 11:03
2011.07.17
"Тест драйв" программы


15-1301693932
Германн
2011-04-02 01:38
2011.07.17
ShowFocus у TButton в "Мастерах" ака Wizards


15-1301659966
clickmaker
2011-04-01 16:12
2011.07.17
В Гугле открылась отличная вакансия