Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

JPG в TBitMap при работе с Timage   Найти похожие ветки 

 
Nic ©   (2006-06-25 23:50) [0]

Как сделать сабж? При загрузке
Image.LoadFromFile
TBitMap заполняется только если грузим битовую маску, а если JPG файл, то неясно как обращаться к элементам (пикселям картинки), как с ними работать. Подскажите плиз в каком направлении копать.


 
Пусик ©   (2006-06-25 23:56) [1]

uses JPEG;


Вот пример процедуры для работы с JPG и Bitmap. Дальше разбирайся.

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;


 
Nic ©   (2006-06-26 00:03) [2]


> Пусик ©   (25.06.06 23:56) [1]

Спасибо Вам большое, потопал разбирать код :)



Страницы: 1 вся ветка

Текущий архив: 2006.08.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.101 c
2-1153471004
fast2
2006-07-21 12:36
2006.08.06
Как разместить мои процедуры в dll?


15-1152632236
lookin
2006-07-11 19:37
2006.08.06
Тоже хотелось бы написать чего полезного... Посоветуйте...


2-1152862806
LEX85
2006-07-14 11:40
2006.08.06
TTreeview


1-1150904746
NORDmen
2006-06-21 19:45
2006.08.06
регулярные выражения разбор строк


6-1143079681
vadim1
2006-03-23 05:08
2006.08.06
"Asynchronous socket error 10061".