NETのC#コードデルファイ(X3ビガー)のJPEG .NET対(X1小)のJPEGファイルサイズ
var mimage = new MemoryStream();
my_image.Save(mimage, System.Drawing.Imaging.ImageFormat.Jpeg);
Delphiコード
//bSource HAS THE ORIGINAL IMAGE
bSource := Tbitmap.Create;
//...
//CODES HERE...
//...
//CODES HERE...
//...
bDest := Tbitmap.Create;
bDest.SetSize(r.width , r.height);
bDest.Canvas.FillRect(bDest.Canvas.ClipRect);
//CODES HERE...
//bDest HAS THE IMAGE FROM <<<bSource>>>>
//CODES HERE..
bSource.Free;
jDest := TJpegImage.Create;
jDest.ProgressiveEncoding:=true;
jDest.CompressionQuality :=100;
jDest.Smoothing := True;
jDest.PixelFormat := jf24bit;
jDest.Compress;
jDest.Assign(bDest); //bDest COPY
jDest.SaveToFile('BIG_FILESIZE_THAN.NET.JPEGx3.jpg'); //FILE SIZE IS TIMES 3 BIGGER THAN .NET
jDest.Free;
bDest.Free;
保存
時に比較するために、同じ画像DelphiのFilesizeは5kで、200x200では8bpp = BIGGERですか?
.Netのファイルサイズは2k、200x200で24bpp =より小さい?
.NETのサイズのようにするには、Delphiで何をしなければなりませんか?
DelphiではCompressionQualityを75に設定してみてください。 http://stackoverflow.com/questions/3957477/what-quality-level-does-image-save-use-for-jpeg-files –
特に大きなファイルサイズをリクエストしていませんか? –