EDIT: Questo metodo è utile se si desidera recuperare la dimensione calcolato di un'immagine dopo che è stato eseguito il rendering di una pagina, ma prima di trasformare la sua dimensione con scala. Se vuoi solo la dimensione originale dell'immagine, usa i metodi sopra.
Provare a scrivere la scala dell'immagine su un attributo di dati quando si ridimensiona. Quindi puoi dividere facilmente le nuove dimensioni con quell'attributo di scala per recuperare la dimensione originale. Potrebbe sembrare qualcosa di simile:
// 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)});
In alternativa, si può semplicemente recuperare la scala dell'immagine direttamente utilizzando jQuery e regex.
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;
}
questo ha un senso più intuitivo per me rispetto alla creazione di un'immagine completamente nuova e basandosi sul caching del browser che si carichi velocemente.
fonte
2016-11-25 15:34:00
@bugster Come possiamo implementarlo al fine di ottenere la dimensione originale di un'immagine in scala in un sito Web? Se non è possibile accedere al sito Web, come è possibile acquisire l'immagine originale? Considera che l'URL dell'immagine originale sia un link pubblico. –