DÜZENLEME: Bu yöntem bir sayfada oluşturulduktan sonra bir resmin bilgisayarlı boyutunu almak istiyorsanız kullanışlıdır, ancak onun büyüklüğü dönüşümü önce ölçeği. Görüntünün yalnızca orijinal boyutunu istiyorsanız, yukarıdaki yöntemleri kullanın.
Resmi büyütmek için resmin ölçeğini bir veri özelliğine yazmayı deneyin. Daha sonra, orijinal boyutu almak için yeni boyutları bu ölçek özniteliğine kolayca bölebilirsiniz. Böyle görünebilir:
// Set the scale data attribute of the image
var scale = 2;
img.dataset.scale = scale;
...
// Later, retrieve the scale and calculate the original size of the image
var s = img.dataset.scale;
var dimensions = [img.width(), img.height()];
var originalDimensions = dimensions.map(function(d) {return d/parseFloat(s)});
Alternatif olarak, sadece doğrudan jQuery ve regex kullanarak görüntünün ölçeğini alabilirsiniz.
var r = /matrix\(([\d.]+),/;
try {
var currentTransform = $swiper.css('transform');
var currentScale = currentTransform.match(r)[1];
}
// Handle cases where the transform attribute is unset
catch (TypeError) {
currentScale = 1;
}
Bu tamamen yeni bir görüntü oluştururken ve hızla yüklenmesi tarayıcının önbelleğe alma güvenmek yerine bana daha sezgisel mantıklı.
@bugster Ölçeklendirilmiş bir resmin orijinal boyutunu bir web sitesine yerleştirmek için bunu nasıl uygularız? Web sitesine erişim yoksa, orijinal görüntüyü almak nasıl mümkün olabilir? Orijinal görüntü URL'sinin bir genel bağlantı olduğunu düşünün. –