9
votes

Comment gérer les images pendant le développement logiciel

Pour le développement de logiciels, on a souvent besoin d'images. Mais quand je commence à travailler sur une image, je finis très vite avec des dizaines de versions, comme si

  • Commencez par une belle image à grande échelle, disons une photo de mon appareil photo (x.nef)
  • Je fais quelques ajustements sur la correction d'exposition et la balance des blancs, le convertir en un x.jpg
  • Commencez à ajouter de petites choses en copiant différentes pièces de deux autres images. (A.jpg, b.jpg entraînant une image superposée x.pdn
  • Maintenant, je l'accélère à la taille requise et enregistrez-le comme x_small.jpg

    À l'heure actuelle, j'ai 6 fichiers d'image différents flottant et personne ne connaît pas le processus derrière eux.

    La question est donc la suivante: comment gérez-vous des images dans le processus de développement?

    EDIT: Thx pour toute la grande entrée. J'ai combiné diverses questions à ma meilleure réponse personnelle. Mais j'ai accepté la réponse de Jiinx0R car il contenait vraiment l'idée manquante pour moi d'appliquer une convention de dénomination pour le type de changements effectués.


5 commentaires

Je ne vois pas vraiment cela comme une question de programmation, désolé. Voté pour fermer. Je vous suggère de demander à cela sur DOCTYPE ou Super User, par la FAQ.


Ce n'est pas un code d'écriture, mais c'est quelque chose qui se présente dans le processus de développement lorsque vous travaillez sur des sites Web. J'ai certainement été là.


Lorsque vous écrivez des jeux, l'illustration est la pièce la plus importante de votre code.


Gestion des actifs non liée à la programmation? Les enfants ces jours-ci ... à mon âge, nous engagerions tout le système d'exploitation aux CVS, juste parce que.


@Brian, oui, je suis allé là aussi, je pense que c'est une zone grise pour ainsi. Les questions comme celles-ci doivent-elles être rejetées pour ne pas être liées à la programmation, mais intrinsèquement liée au développement de logiciels? Peut-être qu'il y a quelque chose sur Meta qui discute de ce qu'il faut faire dans cette situation. J'ai changé d'avis, mais je ne peux pas défaire mon vote pour fermer, alors si cela se fermait, je voterai pour rouvrir de bonne foi.


7 Réponses :


1
votes

Nous avons généralement le titre et la résolution d'image ajoutées ensemble dans le nom.

myimage_800_600.png


0 commentaires

6
votes

Vous pouvez simplement mettre vos images sous contrôle source.

qui gérerait l'historique de révision et les notes. Si vous avez vraiment besoin de conserver toutes les versions transitoires de l'image autour de l'image et de ne pas le souhaiter dans votre dossier de projet, la plupart des arbres de contrôle des sources ont une zone «outils» pour ce type de chose.

EDIT: Si ce que vous êtes après, gardez la trace des différentes tailles (vignettes, etc.), j'irais avec la Convention sur la configuration et implémenteriez un système de dénomination uniforme (ou répertoire).

Par exemple, j'aurais probablement des dossiers séparés pour les versions 100PX et 500PX de la même image. Ou peut-être que je les mettrais dans le même dossier avec une convention de dénomination spéciale: logo-100.jpg et logo-500.jpg ... De toute façon, c'est probablement bien, il suffit de prendre une décision et d'être sûr de rester cohérent tout au long du projet. .

Une dernière pensée: Certaines personnes aiment inclure une tonne de métadonnées dans le nom du fichier. Pour moi, cela dépend de la portée de votre opération et de vos besoins individuels. Je ferais personnellement une approche de défaillance, si vous envisagez d'investir dans le maintien de quelque chose comme ça (ou de créer un outil pour le faire pour vous), assurez-vous qu'il s'agit d'un gain net de temps et non seulement pour votre OCD pour milddle avec!

En tant que développeurs, nous avons tendance à faire des erreurs flagrantes dans cette zone. Je sais que j'ai été coupable un tas de fois.


2 commentaires

Je ne pense pas que cela fonctionnera si vous avez besoin de la même image, mais de différentes tailles tout au long de l'application (vignettes par exemple)


Bonne pensée, j'ai ajouté une édition pour cela au cas où il est ce qu'il est après.



4
votes

Le nom de fichier doit être traité via une convention de dénomination.

{name}-{mod type}-{size}-{version}-{create date}.png
{name}-final.png

e.g. 
file-white_balance-800x600-v01-20090831.png
file-white_balance-800x600-v02-20090831.png
file-final.jpg


1 commentaires

C'est triste, n'est-ce pas? Le système de fichiers VAX comportait plusieurs versions par fichier, mainframe pourrait le faire. Windows et Linux ne peuvent pas. Apple le vend comme "nouvelle fonctionnalité". Il y a tellement de formats de fichiers qui pourraient vraiment bénéficier d'un système de fichiers que des versions automatiquement des fichiers ... :(



3
votes

J'essaie de ne pas avoir une seule image "source", puis versez toutes les modifications dans un script Python court ou une autre pièce de code afin que je puisse recréer les effets et / ou les ajuster à tout moment plus tard.

L'image d'origine est enregistrée en tant que PNG ou TIFF (pour éviter une perte de qualité dû en sauvegarde) et converti en type final comme dernière étape. C'est aussi le moment où je fais la mise à l'échelle et d'autres opérations de perte.


2 commentaires

Utilisez-vous Python sur "Télécommande" un programme de manipulation d'image? Ou utilisez-vous Python pour réellement faire la manipulation de l'image?


J'utilise PIL (bibliothèque d'imagerie Python).



2
votes

Nous avons développé un jeu téléchargeable et Web avec quelques centaines d'actifs graphiques, dont la plupart ont été stockés sous forme de fichiers PSD au cours du développement. Nous avions besoin des versions JPG et et PNG pour la version de version du jeu et une qualité inférieure Versions JPG et PNG pour la version Web.

Nous avons vérifié les originaux dans le contrôle de source pour gérer les versions.

Pour rester flexible et capable de modifier l'original sans avoir à repousser l'image deux fois après chaque mise à jour, nous avions un script Perl / ImageMagick qui mettrait à jour les images emballées automatiquement.

Le nom du fichier est resté le même, mais les images comprimées iraient à différents répertoires, selon la version du jeu que chaque image était emballée.


0 commentaires

1
votes

Je suis d'accord sur ce contrôle source pourrait être votre meilleur choix pour cela. Cependant, le contrôle de la source conventionnelle ne correspond pas vraiment aux images.

Avez-vous regardé http://www.alienbrain.com ?

C'est commercial mais peut être quelque chose qui pourrait aider. Je cherchais aussi et j'ai vu quelque chose à propos de Photoshop ou d'Impeready d'avoir une version de version de la version aussi. Vous pouvez regarder cela.


1 commentaires

Bon de savoir qu'il y a des outils pour aider avec cela, bien que c'est un moyen coûteux pour l'utilisation dont je pense.



0
votes

Je mets tous les morceaux et morceaux des différentes réponses, pour un système qui convient à mes besoins:

  1. Les images vont dans le contrôle de la source. Cela inclut des images ou des étapes intermédiaires.
  2. Si plusieurs images sont nécessaires en fonction d'une image source, mais avec différentes transformations, cela peut être intégré à des constructions automatiques (mise à l'échelle, compression, teinte)
  3. basé sur une convention de dénomination ou des fichiers de structure de dossiers peut être classé dans: Source (Photo originale), intermédiaire (pour les différentes étapes de traitement), base (une image réellement utilisée dans le logiciel ou possible après le traitement automatique comme étant à l'étape 2)
  4. Pour les étapes de traitement, une convention de dénomination doit s'assurer que le type de traitement peut être reconnu, ainsi que l'ordre des étapes. Il serait donc possible de passer de l'image source à travers les différentes étapes de traitement de l'image finale.

0 commentaires