2013-05-24 2 views
0

J'ai une grande image composée de beaucoup de plus petits que je veux découper et exporter. Cela peut être fait avec des tranches, mais malheureusement, cela n'exportera que l'image recadrée - je veux que la totalité de la toile soit présente pour chaque exportation, avec la découpe en place, ce qui signifie que je peux superposer chaque exportation et avoir l'image originale. dans des couches séparées. Cela ne peut pas être fait avec l'interface graphique Fireworks.Trame par programmation d'une image dans Fireworks et exportation sur un fond transparent complet pour former un effet de superposition

Comment puis-je faire cela par programme?

Répondre

0

Tout d'abord, créez un rectangle blanc et placez-le sur le premier point que vous souhaitez découper. Sélectionnez les deux et choisissez Modify -> Mask -> Group as Mask. À ce stade, assurez-vous que votre toile est également transparente. Maintenant, exécutez le code suivant (je Fireworks Console):

for (y=0;y<14;y++){ 
    for (x=0;x<20;x++) { 
     dom.exportTo("file:///C|/mypath/img/" + ("00"+y).slice(-2) + ("00"+x).slice(-2) + ".png", null); 
     if (x == 19) { 
      offsetX = -475; 
      if (y == 6) { 
       offsetY = 425; 
      } else {alert('y is 25'); 
       offsetY = 25; 
      } 
     } else { 
      offsetX = 25; 
      offsetY = 0; 
     } 
     dom.moveElementMaskBy({x: offsetX, y: offsetY}); 
    } 
} 

Note: Les boucles ici sont sur mesure à mes besoins - vous pouvez le déplacer comme vous voulez, même avec un tableau de deltas ({x: offsetX, y: offsetY}) dans une boucle. Notez également que le ("00"+y).slice(-2) est juste une méthode de zerofilling rapide et sale et en aucun cas le moyen le plus rapide de le faire - mais dans un script jetable comme celui-ci, pas de problème.

Questions connexes