Question

J'ai besoin de manipuler une image telle qu'un sous-rectangle de celui-ci est renversé ou en rotation par rapport au reste de l'image. Voici un exemple:

text alt

Ce besoin de manipulation se produire à plusieurs reprises, chaque fois que la production d'une nouvelle image de l'original modifié (plutôt que d'appliquer des modifications successives à une image).

La taille des besoins en sous-rectangle de faire varier systématiquement (peut-être en incréments de 5% de 10% à 75%) et l'emplacement des besoins en sous-rectangle pour faire varier de façon aléatoire.

Enfin, ce besoin de procédure à effectuer sur un grand nombre d'images.

Comment puis-je aller à ce sujet?

Mes options sont PHP, C # ou en batching Gimp. Cela dit, je suis prêt à apprendre quelque chose de nouveau s'il y a une approche particulièrement sensible.

Était-ce utile?

La solution

Id dire aller avec C # et vous écrire un petit utilitaire.

Le Graphics classe peut avoir toutes les méthodes que vous avez besoin .

Id suggèrent que vous regardez le DrawImage et les fonctions de RotateTransform.

Autres conseils

Est-ce quelque chose qui doit être fait ou est-ce programatically un contrat unique?

Si programatically, il * peut * être fait en PHP utilisant la bibliothèque GD, mais sa ne va pas être facile ou rapide, en raison du fait que vous devrez écrire une routine de pixels déplacer manuellement.

Un résumé des « easyness » de votre demande basée sur une approche bibliothèque PHP GD:

  • Manipulation se produit plusieurs fois, chaque fois que la production d'une nouvelle image de l'original modifié: facile
  • Taille des besoins en sous-rectangle pour faire varier systématiquement, facile
  • Localisation des besoins sous-rectangle à très aléatoire, facile
  • rotation dans l'image difficulté modérée et lente
  • L'exécution de cette sur un grand nombre d'images, facile

Je n'ai pas assez d'expérience en C # de vous donner Gimp ANY réponses définitives; Désolé.

Vous pouvez prendre votre langue préférée, ils seront tous trois être en mesure, le code et l'exécuter?

scroll top