3/24/2016 Ben 76 ve yazdığımda bunun mantıklı olduğunu düşündüm, ama herkes gibi ben de ne sorduğumdan emin değilim. İşte ben interneti yıkmaktan (güzel değil) bir araya geldiğim şey. Bu neredeyse çalışır, eksik olan tek şey Aspect oranını koruyor. Uzun boylu resimlerin şişman görünmesini sağlıyor. 40 yıllık programlamada, muhtemelen iki saatlik toplam kodlama grafikleri vardı. :) Graphics32: çok sayıda görüntüyü yeniden boyutlandırma
procedure TfrmTools.Shrink(aFn : String; Wid,Ht : Integer);
var
Bmp : TBitmap; // These three are created
Jpg : TJpegImage; // and Freed globally
Dst : TBitmap32; // to save some bit-thrashing
begin
try
Src.Bitmap.LoadFromFile(aFn); // Src = TImage32
Dst:=TBitmap32.Create;
Dst.SetSize(Wid,Ht);
Src.Bitmap.DrawTo(Dst,Dst.BoundsRect);
bmp:=TBitmap.Create;
jpg:=TJPEGImage.Create;
bmp.Assign(Dst);
jpg.Assign(bmp);
jpg.SaveToFile('D:\Test1280x720.jpg'); // Just testing
finally
Bmp.Free; // As above
Jpg.Free; // As above
Dst.Free; // As above
end;
end;
3/23/2016
burada iyi ruhundan tavsiye aldı ve Graphis32 ile biti mermi ve yaptım sevindim, ama bir duvara vurdu. Bir veritabanında yaklaşık 1200 imge var ve her şey görüntüleme, kaydetme vb. Için iyi gidiyor.Görüntülerin bazıları 6 ila 9 MB arasındadır ve yalnızca görüntülenebilecekleri kadar büyük saklanmaları gerekmez PC ekranında. Onları 1920 x 1080 gibi istenen bir boyuta indirmek ve H x W oranını korumak istiyorum. Görüntülerin 1920 x 1080'den daha küçük olup olmadığını azaltmak istemiyorum.
Çok fazla arama, deneme ve hata yaptım ve bugüne kadar sadece hata yaptım. Kullanıcı elle çalışırken çalışırken ölçeklendirme ve/veya rotasyondan sonra Tasarruf parçasına sahibim. Ama tüm veri tabanını taramak ve boyuttaki boyutları değiştirmek istiyorum.
Bir kod parçacığı harika olurdu.
Şimdiye kadar neler denediniz? Bize bir kod göster veya sıkışmış olduğunuz bölüm hakkında özel bir soru sor. – whosrdaddy