J'ai un projet où j'ai besoin de convertir un grand nombre de types d'image à afficher dans une application Silverlight - TIFF, GIF, WMF, EMF, BMP, DIB, etc. Je peux faire ces conversions sur le serveur avant d'hydrater L'application Silverlight. P>
Cependant, je ne suis pas sûr quand je dois choisir de convertir à quel format, JPG ou PNG. Y a-t-il une sorte de standard comme TIFF devrait toujours être un JPEG et GIF devrait toujours être un PNG. Ou, si un BMP est 24 bits, il doit être converti en JPEG - tout bas et peut être un PNG. Ou tout est un png et pourquoi em>? P>
Qu'est-ce que je suis habituellement Voir ou voir en réponse à ce type de question est " Eh bien, si la photo est une photo, allez avec JPEG em>" ou " s'il a des lignes droites, PNG est meilleur em>". Malheureusement, je n'aurai pas le luxe de visualiser l'un des fichiers image du tout et je voudrais juste un moyen standard de le faire via le code, même s'il s'agit d'une zillion si / puis de déclarations. P>
Existe-t-il des normes ou des meilleures pratiques autour de ce sujet? P>
3 Réponses :
Un grand avantage de JPG sur PNG est que les JPGS fournissent un bon équilibre entre la taille de l'image et la qualité. Si la taille du fichier n'est pas une préoccupation, PNG est probablement la voie à suivre car elle offre plus de flexibilité que JPG. Cela ne répond pas vraiment à votre question, cependant. p>
Vous pouvez utiliser un service comme Smush.it - il vous dira le meilleur format optimisé pour les images et exécutez les compressions pour vous. P>
Si je me rappelle correctement, ils exécutent toutes les compressions sur chaque image, puis comparez les résultats ... Renvoyer le meilleur de l'ensemble. P>
C'est un service intéressant, je ne l'avais pas vu auparavant. C'est un peu ce que je veux faire, sauf par moi-même, pas à travers un tiers. Cependant, je cherche la compression comme une deuxième étape - la conversion est d'abord et que j'ai besoin de quelques directives basées sur une sorte d'ensemble de propriétés requises d'un fichier image. Comme si myimage.rawformat = imageformat.gif et myimage.flags = imageflagshasalpha alors myImage.save (imagename & "." & Imageformat.png) sinon myImage.save (imagename & "." & Imageformat.jpg) code>. La vraie question est - existe-t-il un choix logique de choix de sortie basé sur l'entrée?
the La chose la plus simple qui pourrait éventuellement fonctionner est "Garder tout le détail" ("100% Qualité "), c'est-à-dire toujours utiliser PNG plutôt que JPEG. P>
Les images PNG ont toujours l'air identique à l'original (c'est sans perte). Les images JPG regardent généralement de la même manière que l'original, mais sur certaines images (telles que la ligne d'art), JPG donne des artefacts de compression étranges (c'est une perte). P>
Merci David, c'est un très bon conseil, en particulier les 2 premières balles. Sur # 3, je ne peux pas utiliser SVG Malheureusement, Just Png et JPEG.