Главная страница
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-1137076824
worldmen
2006-01-12 17:40
2006.01.29
Из Paradoxa 7 в другую БД.


15-1136821617
Kerk
2006-01-09 18:46
2006.01.29
Ошибочно считать свой талант основным капиталом


15-1136293622
Pazitron_Brain
2006-01-03 16:07
2006.01.29
GPRS в Linux


15-1136416175
GanibalLector
2006-01-05 02:09
2006.01.29
монитор


2-1136972101
Andrey.Ru
2006-01-11 12:35
2006.01.29
Компонент