Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.1.0 - Français


xchange

transformation de coordonnées de l'échelle courante en pixels et inversement

Séquence d'appel

[x1,y1,rect]=xchange(x,y,dir)

Paramètres

x,y

deux matrices de taille (n1,n2) (coordonnées d'un ensemble de points).

dir

spécifie la conversion à réaliser (Voir la rubrique "Description" pour plus d'informations).

x1,y1

deux matrices de taille (n1,n2) (coordonnées transformées).

rect

un vecteur de taille 4.

Description

Après l'appel à une fonction graphique de haut niveau, xchange calcule des coordonnées en pixels à partir des coordonnées "réelles" à l'échelle du dessin courant, et inversement, suivant la valeur du paramètre dir : "f2i" (float to int) signifie réel vers pixel et "i2f" (int to float) signifie pixel vers réel. x1 et y1 sont les nouvelles coordonnées de l'ensemble de points définis par les anciennes coordonnées x et y.

rect sont les coordonnées en pixels du rectangle du cadre courant : [point en haut à gauche, largeur, hauteur].

Les coordonnées en pixels sont relatives au point en haut à gauche de la zone graphique de la figure (voir axes_size dans les propriétés des figures) contrairement aux positions des uicontrols qui sont relatives au point en bas à gauche de la zone graphique de la figure (voir les exemples ci-dessous).

Exemples

Conversions de données

t=[0:0.1:2*%pi]';
plot2d(t,sin(t))
[x,y,rect]=xchange(1,1,"f2i")
[x,y,rect]=xchange(0,0,"i2f")

Avec des uicontrols

plot(-10:10, -10:10);

sz = gcf().axes_size; // Utilisé pour changer la référence des positions
xpos = [-10 -10 0 10 10];
ypos = [-10 10 0 -10 10];

for i = 1:size(xpos, "*")
    [xp, yp] = xchange(xpos(i), ypos(i), "f2i");
    uicontrol("Style", "pushbutton", "Position", [xp, sz(2)-yp, 70, 20], "String", string(xpos(i)) + "/" + string(ypos(i)));
end
Report an issue
<< multiscaled plots Graphiques Graphiques : export >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu May 22 12:54:26 CEST 2025