JPEG въпрос ?
2 отговора
0 прегледа
JPEG въпрос ?
Извинете моето незнание но нямам опит с jpeg.
Бихте ли ме насочили как да проверя размера на jpg-a (наприер дали е 300 х 300) и ако не е как мога да ресайзна до размера който искам.
Благодаря
Бихте ли ме насочили как да проверя размера на jpg-a (наприер дали е 300 х 300) и ако не е как мога да ресайзна до размера който искам.
Благодаря
Re: JPEG въпрос ?
Нямам подръка Delphi, но генерално пътя е следния:
1. Зарежда се JPG файла
2. Обръща се до битмап
3. Прави се каквото трябва като resize и т.н.
4. Записва се обратно като JPG
чудесно е илюстриран подхода с пример от expert-exchange:
uses ...Jpeg, Graphics;
function resizeImage(sInImage, sOutImage: string; iHeight, iWidth: integer): boolean;
var JpgImg : TJpegImage;
BmpImg : TBitmap;
Rectangle: TRect;
begin
try
JpgImg := TJpegImage.Create;
BmpImg := TBitmap.Create;
JpgImg.LoadFromFile(sInImage);
Rectangle := Rect(0, 0, iWidth, iHeight);
with BmpImg do
begin
Width := iWidth;
Height := iHeight;
Canvas.StretchDraw(Rectangle, JpgImg);
end;
finally
JpgImg.Assign(BmpImg);
JpgImg.SaveToFile(sOutImage);
JpgImg.Free;
BmpImg.Free;
end;
Result := True;
end;
чети и дишай по-леко
1. Зарежда се JPG файла
2. Обръща се до битмап
3. Прави се каквото трябва като resize и т.н.
4. Записва се обратно като JPG
чудесно е илюстриран подхода с пример от expert-exchange:
uses ...Jpeg, Graphics;
function resizeImage(sInImage, sOutImage: string; iHeight, iWidth: integer): boolean;
var JpgImg : TJpegImage;
BmpImg : TBitmap;
Rectangle: TRect;
begin
try
JpgImg := TJpegImage.Create;
BmpImg := TBitmap.Create;
JpgImg.LoadFromFile(sInImage);
Rectangle := Rect(0, 0, iWidth, iHeight);
with BmpImg do
begin
Width := iWidth;
Height := iHeight;
Canvas.StretchDraw(Rectangle, JpgImg);
end;
finally
JpgImg.Assign(BmpImg);
JpgImg.SaveToFile(sOutImage);
JpgImg.Free;
BmpImg.Free;
end;
Result := True;
end;
чети и дишай по-леко