며칠 전 나는이 질문을하고 답변을 가지고 : 나는 JPG 파일로 TPanel과 (1 배 모양, 1 배 TImage의 2 배 TLabel)의 내용을 저장할 때, 이제 How to add a picture frame and insert the text in the image?JPG 파일의 크기를 줄이는 방법은 무엇입니까?
, 즉 JPG 파일의
크기는 TImage의 그림 크기 인 20kb에서 620kb로 증가했습니다.
치수는 거의 같습니다. 원본 JPG 파일 320x320, 새로운 JPG 그림 361x440.
크기를 줄이는 방법은 무엇입니까?
이 @iPath에서 첫 번째 질문에 대한 답이다, 그래서 새로운 JPG 파일이 생성되는 방법은 다음과 같습니다
저장 한 어떤procedure TForm1.SavePanelAsImage;
var
img: TBitmap;
begin
img := TBitmap.Create;
try
img.Width := fpPanel.Width;
img.Height := fpPanel.Height;
fpPanel.PaintTo(img.Canvas, 0, 0);
img.SaveToFile(fpFileName);
finally
img.Free;
end;
end;
비트 맵 파일이 생성되고 있습니다! 내 대답의 노트 섹션에서 당신은 TJPEGImage를 사용하여 비트 맵을 Jpeg로 변환해야한다고 언급했습니다. 내 예는 @ David-Heffernan이 명시한대로 비트 맵을 저장합니다.) –
BTW에주의하십시오. JPEG는 손실 압축 알고리즘입니다. 즉, 이미지를 저장하고 다시로드하면 똑같은 이미지를 다시 얻지 못합니다. 따라서 JPEG로 저장할 때마다 여러 번 편집하면 이미지에 여러 세대의 손실이 발생합니다. –