![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Thumbnails [D7, XP]
Zikmu © (2006-05-09 21:42:00)Добрый день.
Помогите мне, пожалуйста с такой ситуацией:
У меня есть программа, которая должна изменять размеры изображения, ну, скажем, которое в переменной JImage1:
JImage1 := TJPEGImage.Create;
JImage1.LoadFromFile('Image1');
...
JImage1.Free;
Мне нужно уменьшить это изображение до размеров, которые хранятся в переменных H и W и сохранить. Пробовал по-разному, но на выходе создаются файлы нужного размера, но пустые (белые). То же самое и с BMP и даже с GIF (компонент delgif). Возможно, существует какой-то лёгкий способ это сделать, а я и ен знаю... Подскажите, кто может.
Заранее благодарен.
Пусик (2006-05-09 21:46:00) [1]И ты думаешь, что из того обрывка кода, который ты привел, можно что-то определить?
procedure StretchJPG(const FilePathSrc,FilePathDest: String; aW,aH: Integer);
var
Src, Dest: TBitmap;
j: TJPEGImage;
Degree: Double;
begin
Src:= TBitmap.Create;
Dest:= TBitmap.Create;
j:= TJPEGImage.Create;
try
j.LoadFromFile(FilePathSrc);
Src.Assign(j);
Dest.Assign(Src);
if (Dest.Width<=aW) and (Dest.Height<=aH) then Exit;
Degree := Src.Height/aH;
if Trunc(Src.Width/Degree)>aW then Degree := Src.Width/aW;
Dest.Width:= Trunc(Src.Width/Degree);
Dest.Height:= Trunc(Src.Height/Degree);
SetStretchBltMode(Dest.Canvas.Handle, HALFTONE);
StretchBlt(Dest.Canvas.Handle, 0, 0, Dest.Width, Dest.Height,
Src.Canvas.Handle, 0, 0, Src.Width, Src.Height, SRCCOPY);
j.Assign(Dest);
j.SaveToFile(FilePathDest);
finally
Src.Free;
Dest.Free;
j.Free;
end;
end;
Мефисто (2006-05-09 21:45:00) [2]В конфу Media загляни