Bir mobil uygulamada, bir web servisine yüklenmeden önce bir veya daha fazla resim (sadece jpeg/jpg) - yerleşik kamera ile çekilmiş veya fotoğraf kitaplığından seçili olarak görüntülenir. Ancak bir görüntüyü bir FMX TImage/TImageControl/TImageViewer
içine yükleyip akıma (veya dosyaya) kaydetmek,% 45 daha küçük olmasını sağlar.Firemonkey: Herhangi bir görüntü denetimi türüne bir JPEG yerleştirme ve ardından dosyaya veya yayına kaydetme işlemi daha küçük yapar. Bu önlenebilir mi?
Bunun neden olduğuyla ilgili herhangi bir fikrin var mı ve boyutta azalmayı önlemek için bir yol var mı? Bu istedi gibi
kendisine özel basit bir test kodu, başka bir şey değildir:
procedure TImageTest.btnTestClick(Sender: TObject);
var
aFile : string;
begin
if not OpenDialog.Execute then
Exit;
// get jpg file name for loading
aFile := OpenDialog.Filename;
// load into TImage, TImageControl or TImageViewer
ImageViewer.Bitmap.LoadFromFile(aFile);
// and save to file for comparison
ImageViewer.Bitmap.SaveToFile(aFile+'_2.jpg');
end;
Hata ayıklama yardımı için nereden yardım istedim? Veya kodun neden çalışmadığını soruyor musunuz? Bu basit simge uygulaması ile kolayca çoğaltılabilir firemonkey görüntü bileşenlerinin davranışı üzerine bir sorudur. –
Jpeg kayıpsız format değil. Herhangi bir yükleme ve daha sonra tasarruf bazı kalite kaybı tanıtacak. Neden böyle bir kalite kaybı yaşıyorsanız, kodunuz tam olarak söylemek zor. Resmi web hizmetine yüklemeniz gerekiyorsa, FMX kontrollerinden ara temsil yerine orijinal dosya akışını yükleyin. –
Hangi Delphi sürümünü kullanıyorsunuz? –