Diviser un journal en graphiques individuels?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je cherche à diviser un journal en graphiques individuels qui le composent.
L'idée est que j'invite un utilisateur à enregistrer des graphiques, et j'aimerais pouvoir enregistrer des graphiques individuels à partir d'un journal, plutôt que du journal dans son ensemble.
Toute aide est grandement appréciée.
-Mat
Re: Diviser un journal en graphiques individuels?Une approche consisterait à rassembler deux listes: l’une des boîtes à images et l’autre des titres. Ensuite, s’ils sélectionnent le nième titre, sortez la nième zone d’image. Pour obtenir le nième bloc d’images sur demande, je pense que xpath // PictureBoxle ferait. Vous pouvez utiliser l’indice de la boîte d’affichage normale: jrn [PictureBox (n)].
Re: Diviser un journal en graphiques individuels?J'ai une autre question Xan. Je ne connais pas trop la partie ancêtre / descendant des arbres.
Je demande maintenant à l'utilisateur de sélectionner un nom de graphe dans la liste créée à l'aide de
print ((jrn << xpath (EvalInsert ("descendant :: PictureBox [^ i ^]] / ancestor :: OutlineBox [1]"))) [1] << obtenir le titre)
À partir du titre choisi, j'aimerais trouver la zone d'image correspondante et l'enregistrer dans un fichier, au lieu de toutes les zones d'image.
Je pensais à remplacer ancestor :: OutlineBox [1] par le titre du graphique et le descendant serait PictureBox [1], n'est-ce pas? A partir de cela, pourrais-je sauvegarder la photo?
Encore une fois, toute aide est grandement appréciée.
-Mat
Re: Diviser un journal en graphiques individuels?Excellent travail encore Xan, a travaillé comme un charme.
La réponse opportune a également été extrêmement utile.
Re: Diviser un journal en graphiques individuels?Il existe un << parent, mais vous devrez peut-être l'appliquer plusieurs fois pour accéder à OutlineBox s'il existe des zones intermédiaires telles que ListBox ou BorderBox. Vous pouvez utiliser << classname pour voir quel type de boîte vous êtes.
Faire la même chose avec xpath devient un peu plus compliqué, mais cela fonctionne dans la boucle:
print ((jrn << xpath (EvalInsert ("descendant :: PictureBox [^ i ^]] / ancestor :: OutlineBox [1]"))) [1] << obtenir le titre)
Re: Diviser un journal en graphiques individuels?Cela a bien fonctionné Xan, merci beaucoup.
Le prochain obstacle que je dois surmonter est de saisir le titre de chaque graphique du journal. Chaque graphique est enveloppé dans une zone de contour avec son titre. Y a-t-il un moyen de téléphoner au parent de PictureBox pour en récupérer le texte?
Merci encore,
Mat
Re: Diviser un journal en graphiques individuels?Chaque graphique est encapsulé dans un objet appelé PictureBox, qui permet à l’export HTML de savoir quand créer un fichier image. Vous pouvez parcourir les PictureBoxes avec un indice de zone d'affichage ou utiliser XPath:
jrn = Journal actuel ();
graphs = jrn << xpath ("// PictureBox");
n = N éléments (graphiques);
Pour (i = 1, i <= n, i ++,
des graphiques << Sauvegarder l'image ("$ DOCUMENTS / pic" || Char (i) || ".png", "png")
)