¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?
Aquí hay una muestra de un script simple que utilizo para crear un cuadro de gráfico:
win = New Window( "Map",
Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("white"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);Después de ejecutar el script anterior, puedo arrastrar y soltar una imagen jpg en el fondo y manipularla (rotar, cambiar el tamaño, cambiar la transparencia, etc.).
¿Qué código necesito para automatizar la adición del fondo de la imagen jpg como parte del script?
Re: ¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?Gracias por la imagen. ¡Soy capaz de encontrarlo ahora! Estaba buscando accidentalmente en "Funciones" en lugar de "Todas las categorías".Re: ¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?Aquí hay una imagen de la referencia a Pegar imagen de fondo.

Re: ¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?Estás muy cerca. El problema principal, como usted sospecha, es el mensaje de informe. El mensaje de informe se envía a una plataforma para obtener el árbol del cuadro de visualización. El GraphBox es Un árbol de displaybox, no una plataforma. También hay algunos ajustes menores a los parámetros de posicionamiento (y también jugué con algunos otros parámetros). Las posiciones superior, izquierda e inferior, derecha se especifican en las mismas coordenadas que los ejes.
win = New Window( "Map",
gb=Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("red"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);
fb1 = gb[Frame Box( 1 )];
fb1 << add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.5 ),
Rotate( 45 ),
Bounds(
Top( 800 ),Left( 100 ),
Bottom( 100 ),Right( 800 )
),
//SetSize( {300, 210} )
);
background picture positioned and rotatedimagen de fondo posicionada y girada
Re: ¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?xnelson
No puedo averiguar cómo utilizar su sugerencia. Buscando en mi Ayuda ==> Índice de secuencias de comandos No pude encontrar su referencia "Ayuda ==> Índice de secuencias de comandos ==> Cuadro de selección ==> Pegar imagen de fondo". Intenté el siguiente script hecho de mi script de ejemplo y tratando de aplicar su sugerencia:
// Here's my original script:
win = New Window( "Map",
Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("white"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);
// And here's what I added based on your suggestion:
opr1 = win << report;
fb1 = opr1[Frame Box( 1 )];
fb1 << Add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.9 ),
Rotate( 90 ),
Bounds(
Left( 0.135416666666667 ),
Right( 3.26041666666667 ),
Top( 11.8333333333333 ),
Bottom( -1 )
),
SetSize( {300, 210} )
);Cuando ejecuto el script, aparece un mensaje de error que dice:
"El recuadro de visualización 'EvalContextBox' no reconoce el mensaje 'informe'; tal vez usted se refiera a uno de estos: << Establecer título del informe << Volver a mostrar << configurar horizontal << obtener horizontal << padre << Prefijar << obtener RTF < << Obtener soporte web << Borde << Establecer propiedad << Obtener propiedad << Obtener propiedad Lista << Obtener propiedades << Establecer propiedad << Obtener propiedad << Obtener propiedad Lista << Obtener propiedades ».
Busqué en el índice de scripts y encontré una referencia a "informe", pero con la sintaxis "y = Informe (objeto de plataforma)". Así que intenté reemplazar la línea "opr1 = win << report;" con "opr1 = Informe (ganar)". Se eliminó el primer mensaje de error, pero ahora aparece el mensaje de error "Enviar espera un objeto programable en el acceso o evaluación de 'Enviar', fb1 << / * ### * / Agregar imagen (".
Pensé que tal vez necesitaba referirme a la Caja de Gráficos en lugar de a la Nueva Ventana, así que probé el script:
win = New Window( "Map",
gb= Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("white"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);
opr1 = Report( gb );
fb1 = opr1[Frame Box( 1 )];
fb1 << Add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.9 ),
Rotate( 90 ),
Bounds(
Left( 0.135416666666667 ),
Right( 3.26041666666667 ),
Top( 11.8333333333333 ),
Bottom( -1 )
),
SetSize( {300, 210} )
);(Tenga en cuenta que probé la sintaxis "opr1 = gb << informe" primero, pero me dio el error original de "informe"). Todavía tengo un "Enviar lo que se espera de un objeto programable en el acceso o la evaluación de 'Enviar', fb1 << / * ### * / Agregar imagen ("error.
¿Qué estoy haciendo mal?
Además, ¿hay una manera de incrustar la imagen en el script? Múltiples personas ejecutarán el script, por lo que una referencia específica a una ubicación de imagen no se escalará fácilmente. Por ejemplo, en lugar de usar "Abrir" cuando agrego una imagen, ¿puedo usar "Establecer Blob (Char To Blob ())"?
Re: ¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?Usted puede obtener algunas ideas de esta publicación sobre cómo se puede controlar la estratificación de segmentos del marco para mover su imagen delante o detrás de sus datos. Es posible tener un mapa, puntos de datos e imágenes, y obtenerlos en el orden que necesita.
Re: ¿Qué código de script necesito para agregar automáticamente una imagen de fondo a un cuadro de gráfico?Lo que deberá hacer es pegar la imagen de fondo en el Cuadro de marco () de su Cuadro de gráficos (). A continuación se muestra el ejemplo tomado directamente del Índice de Scripting que ilustra cómo hacer esto
Ayuda ==> Índice de secuencias de comandos ==> Cuadro de cuadro ==> Pegar imagen de fondo
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Animals.jmp" );
op = Overlay Plot(
X( :subject ),
Y( :miles ),
Separate Axes( 1 )
);
opr1 = op << report;
opr2 = opr1 << Clone Box;
opr1 << append( opr2 );
fb1 = opr1[Frame Box( 1 )];
fb1 << Add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.9 ),
Rotate( 90 ),
Bounds(
Left( 0.135416666666667 ),
Right( 3.26041666666667 ),
Top( 11.8333333333333 ),
Bottom( -1 )
),
SetSize( {300, 210} )
);
fb1 << Copy Picture;
fb2 = opr2[Frame Box( 1 )];
fb2 << Paste Background Image;