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

Вниз

Выполнить кропинг(срез) изображения?   Найти похожие ветки 

 
S_Flash   (2005-08-22 16:07) [0]

Подскажите, если можн , то на примере, как реализовать кропинг изображения. Например для ресайза, я использую такой код:

Scr:= TBitmap.Create;
Dest:= TBitmap.Create;
try
  Form1.Image1.Picture.LoadFromFile(file_source);
  Scr.Assign(Form1.Image1.Picture.Graphic);
  Dest.Assign(Scr);

  Dest.Width:= размер по горизонтали;
  Dest.Height:= размер по вертикали;

  SetStretchBltMode(Dest.Canvas.Handle, HALFTONE);
  StretchBlt(Dest.Canvas.Handle, 0, 0, Dest.Width, Dest.Height, Scr.Canvas.Handle, 0, 0, Scr.Width, Scr.Height, SRCCOPY);
  j.Assign(Dest);
  j.CompressionQuality:= quality;
  j.Compress;
  j.SaveToFile("file_save");
finally
  Scr.Free;
  Dest.Free;
  j.Free;
end;


 
Vcoder ©   (2005-08-22 23:00) [1]

Не понимаю, в чем проблема - кропинг, как я понимаю, обрезка? Так используй BitBlt вместо StretchBlt:

BitBlt(Dest.Canvas.Handle,
      0,
      0,
      Dest.Width,
      Dest.Height,
      Scr.Canvas.Handle,
      xFrom,
      yFrom,
      SRCCOPY);

Скопирует в Dest прямоугольный участок, начинающийся с координат (xFrom,yFrom) и имеющий размер (Dest.Width,Dest.Height).

PS. Если неверно понял - звиняюсь. Опиши подробнее, в чем проблема.


 
S_Flash   (2005-08-23 00:19) [2]

Все получилось, спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.034 c
2-1136836506
ArtemESC
2006-01-09 22:55
2006.01.29
Автозагрузка...


2-1136634468
Nic
2006-01-07 14:47
2006.01.29
Как закрыть программу в C#


1-1135689110
Olsher
2005-12-27 16:11
2006.01.29
FontDialog - как отключить начертание и выбор кодировки?


2-1137133159
Неумейка
2006-01-13 09:19
2006.01.29
Помогите пожалуйста уважаемые программисты с процедурами !


2-1137041866
maep
2006-01-12 07:57
2006.01.29
Поиск среди тьмы тьмущей данных, контейнеры..