Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
ВнизThumbnails Найти похожие ветки
← →
Zikmu (2006-05-09 21:42) [0]Добрый день.
Помогите мне, пожалуйста с такой ситуацией:
У меня есть программа, которая должна изменять размеры изображения, ну, скажем, которое в переменной JImage1:
JImage1 := TJPEGImage.Create;
JImage1.LoadFromFile("Image1");
...
JImage1.Free;
Мне нужно уменьшить это изображение до размеров, которые хранятся в переменных H и W и сохранить. Пробовал по-разному, но на выходе создаются файлы нужного размера, но пустые (белые). То же самое и с BMP и даже с GIF (компонент delgif). Возможно, существует какой-то лёгкий способ это сделать, а я и ен знаю... Подскажите, кто может.
Заранее благодарен.
← →
Мефисто (2006-05-09 21:45) [1]В конфу Media загляни
← →
Пусик © (2006-05-09 21:46) [2]И ты думаешь, что из того обрывка кода, который ты привел, можно что-то определить?
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;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c