Parties zoomées de l'image

1

Je crains que ce soit une question trop étroite, mais voici tout de même.

Existe-t-il un outil (ou un plugin, quel que soit l'outil) qui me permettrait de "zoomer" efficacement sur des parties de l'image, comme ceci:

Zoom In

Ce que je veux c'est ne pas une loupe à l'écran, mais plutôt un outil pour m'aider à créer de telles images. Ce que je fais maintenant (dans Paint.NET), c’est d’ajouter deux calques avec la même image, de redimensionner le calque d’arrière-plan et de couper la zone circulaire du calque de premier plan, puis de les fusionner.

Anton Gogolev
la source
Ce n'est pas trop étroit - en l'état, je dirais que c'est "trop ​​large", car vous n'avez spécifié aucune information sur le système d'exploitation, les logiciels utilisés, etc. Les OS?
Ƭᴇcʜιᴇ007
@ techie007 Est-ce mieux maintenant?
Anton Gogolev
Beaucoup mieux. :)
Ƭᴇcʜιᴇ007
C'est comme ça que ça se passe. Si vous utilisez GIMP ou photoshop, vous pouvez automatiser les scripts / enregistrements pour gérer les étapes de base.
horatio
Une solution utilisant un éditeur .svg open source, telle que Inkscape être acceptable? Vous pourrez remplacer l'image de base et la faire apparaître à la fois comme arrière-plan mis à l'échelle et comme région tronquée pour la zone agrandie. Une fois que le modèle a été configuré pour cela, il serait relativement facile de créer des instances supplémentaires.
Jason Aller

Réponses:

1

Le svg suivant pourrait être amélioré à bien des égards, mais montre un point de départ.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" width="600px" height="323px">
    <defs>
        <image id="baseimage" xlink:href="http://i.stack.imgur.com/G4qab.jpg" width="100%" height="100%"/>  
        <circle id="zoom" cx="50%" cy="50%" r="100px" stroke="grey" stroke-width="4px" fill="none"/>
        <clipPath id="zoomclip">
            <use xlink:href="#zoom"/>
        </clipPath>
    </defs>
    <g alignment-baseline="baseline">
        <g>
            <use xlink:href="#baseimage" transform="scale(1)"/>  
        </g>
         <g clip-path="url(#zoomclip)">
             <use xlink:href="#baseimage"  transform="translate(-300 -162) scale(2)" />  
             <use xlink:href="#zoom"/>
         </g>
    </g>
</svg>

Remarques:

  • set svg width et height doivent être à la taille originale * échelle de fond
  • l'échelle de transformation pour la première utilisation de #baseimage doit correspondre à l'échelle choisie
  • la deuxième transformation doit avoir translaté pour placer la deuxième copie de l'image de base sous le cercle, dans le code ci-dessus, car le cercle était au centre du document et l'échelle était égale à 1 pour l'image de base, les valeurs sont négatives, moitié de largeur et moitié de hauteur.
  • démo à jsfiddle: http://jsfiddle.net/pqzsa/

Les améliorations possibles incluent JavaScript pour déplacer le cercle et aligner automatiquement l’image de base agrandie sous le centre du cercle et la positionner au clic. L'éditeur svg peut être utilisé pour générer un fichier .png de la vue actuelle.

Jason Aller
la source