Étant donné l'URL d'une image (et non l'image elle-même), quel est le plus efficace pour obtenir ses dimensions? Je voudrais changer les attributs de hauteur et de largeur dans l'étiquette d'image (<img>
) si elle est supérieure à 200x200. Cependant, si c'est plus petit que ça, je voudrais garder la taille telle qu'elle est. (J'utilise ASP.NET/C#)Obtenir les dimensions de l'image distante
Répondre
Si vous ne voulez pas vérifier les propriétés de l'image en la chargeant d'abord vous pouvez le faire avec javascript:
<img src="image.jpg" onload="if(this.width > 200) this.width = 200;">
Si vous savez que c'est un JPEG, vous pouvez simplement tirer le first few bytes et analyser la largeur/hauteur de l'en-tête de l'image.
D'autres formats d'image peuvent être plus difficiles à réaliser. Je pense que puisque PNG fait tout en morceaux, vous ne pouvez pas faire ce genre d'inspection d'en-tête.
http://www.brettb.com/ASPNETUploadImageSize.asp
L'exemple de code provient du site ci-dessus. Ceci est une image téléchargée, mais il vous montre comment obtenir le informatin à partir d'un flux de fichier:
private void ButtonUpload_Click(object sender, System.EventArgs e) {
//Determine type and filename of uploaded image
string UploadedImageType = UploadedPicture.PostedFile.ContentType.ToString().ToLower();
string UploadedImageFileName = UploadedPicture.PostedFile.FileName;
//Create an image object from the uploaded file
System.Drawing.Image UploadedImage = System.Drawing.Image.FromStream(UploadedPicture.PostedFile.InputStream);
//Determine width and height of uploaded image
float UploadedImageWidth = UploadedImage.PhysicalDimension.Width;
float UploadedImageHeight = UploadedImage.PhysicalDimension.Height;
//Check that image does not exceed maximum dimension settings
if (UploadedImageWidth > 600 || UploadedImageHeight > 400) {
Response.Write("This image is too big - please resize it!");
}
}
Je pense que c'est techniquement une tricherie, car cela permettrait de télécharger l'image. :) – MusiGenesis
au lieu d'essayer de vérifier les dimensions (ce qui serait une perte, puisque vous auriez presque toujours télécharger l'ensemble de l'image et le traiter), pourquoi ne pas simplement placer l'image dans un élément <div>
et définir les styles max-height
et max-width
du conteneur aux dimensions souhaitées?
L'autre option consiste à extraire l'image une fois que vous en avez pris conscience, à la redimensionner pour l'insérer dans votre conteneur de manière appropriée, à la stocker sur votre serveur et à la diffuser.
Il me semble qu'il veut redimensionner l'image avec des attributs de hauteur/largeur dans le navigateur. Définir la taille sur un div ne le redimensionnera pas. –
Ceci est une bonne solution, agréable n facile et le serveur n'a pas besoin de faire du travail = D –
- 1. Comment obtenir les dimensions relatives de la fenêtre de défilement
- 2. Comment obtenir les dimensions des barres de défilement?
- 3. PHP GD, imagecreatefromstring(); comment obtenir les dimensions de l'image?
- 4. Comment obtenir les dimensions du contenu * visible * de DisplayObjectContainer?
- 5. Obtenir les vraies dimensions d'une image avec JQuery
- 6. Comment obtenir les dimensions intérieures d'une fenêtre décorée dans XWindows?
- 7. obtenir les dimensions d'image téléchargées avec javascript/jquery?
- 8. Comment obtenir une SQLConnection distante pour TDSProviderConnection.SQLConnection?
- 9. Comment obtenir une adresse URI distante
- 10. Datawarehouse - Comment lier les dimensions
- 11. Trouver les dimensions de la fenêtre X11?
- 12. iTextSharp image garder les dimensions de pixel?
- 13. Détecter les dimensions de l'écran physique
- 14. Android Obtenez les dimensions de l'écran de service
- 15. Combien de dimensions dans mon tableau ou obtenir le dernier
- 16. comment obtenir des dimensions de fichier SWF en PHP?
- 17. Django: Obtenir l'adresse IP distante à l'intérieur de settings.py
- 18. Obtenir les dimensions de l'image originale lors de l'intégration de l'image dans WordprocessingML
- 19. Comment obtenir les dimensions d'une icône à partir de son handle?
- 20. Aborder un seul tableau de pointeur dimensions à deux dimensions
- 21. Obtenir WebSocket pour fonctionner à partir d'une URL distante
- 22. Comment trouver les dimensions Flash originales?
- 23. MATLAB submatrix sur les dimensions variables
- 24. Sécurité des dimensions dans les cubes OLAP
- 25. traitement tableau 2 dimensions
- 26. Mise à l'échelle de canvas html5 sans spécifier les dimensions
- 27. dimensions de fenêtres IE7, y compris les barres de défilement
- 28. Comment obtenir les dimensions de la vue (non masquées par les barres de défilement) dans une fenêtre wx.ScrolledWindow?
- 29. Comment obtenir les dimensions d'un élément WPF au moment de l'exécution sans les spécifier au moment de la compilation
- 30. dimensions de l'étape swf chargé
Si je comprends bien, vous voulez redimensionner l'image dans le navigateur, de sorte que toutes les images sont alignes? Si oui, vérifiez ma réponse avec comment faire cela en javascript assez facilement. –