Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 загляни


Наверх

Титульная страница Поиск, карта сайта Написать письмо