![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ресайз картинок [D5, Win2k]
Дмитрий Шумов © (2002-07-29 13:19:00)Проблема в следующем,имеется куча картинок которые надо сделать одного размера, помогите примерчиком или советом где капать.
Спасибо.
Mirovodin (2002-07-30 16:32:00) [1]Если нужно КАЧЕСТВЕННО изменить размер изображения, нгу напимер как делает PhotoShop, с применением фильтров - на DelphiGFX есть класc BitmapResample в разделе Libs
Song (2002-07-30 09:28:00) [2]Вы ерунду пишите. Вы приравниваете указатель с компонента на bmp, а потом его сохраняете.
Надо bmp:=TBitMap.Create далее bmp.LoadFromFile() далее bmp.Canvas.StretchDraw() далее bmp.SaveToFile() примерно так.
А если всё-таки хотите использовать TImage с формы, тогда и делайте операцию TCanvas.StretchDraw() для этого компонента, а не для какой-то левой переменной.
Дмитрий Шумов (2002-07-30 08:33:00) [3]В том то и дело что надо програмно, с фотошопом возится неохото.
Вот написал такой вот обработчик, но получаемые картинки не открываются,может кто подскажет в чем затырка:
procedure TForm1.Button1Click(Sender: TObject);
var
bmp: TBItmap;
begin
if opendialog1.execute then begin
bmp:= Image1.Picture.bitmap;
Image1.Canvas.StretchDraw(Rect(0,0,180,114),bmp);
bmp.Height:=114;
bmp.Width:=180;
bmp.SaveToFile(ChangeFileext( opendialog1.filename, "_thumb.JPG" ));
end;
end;
Some0ne. (2002-07-29 20:49:00) [4]Тебе надо именно программным способом, или просто картинки обработать нада? Если просто картинки заресайзить, то грузи Фотошоп и там делать Batch.......
Song (2002-07-29 13:37:00) [5]TCanvas.StrectDraw()
TCanvas.CopyRect()
MBo (2002-07-29 13:22:00) [6]stretchblt