tremove redundant legacy render and animation scripts - Granular.jl - Julia pac… | |
git clone git://src.adamsgaard.dk/Granular.jl | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit eed01ce4f62b8be47673fc2aac87ce425dda2fe8 | |
parent 9148d8ee767f8f220e657051565d787d01f4770b | |
Author: Anders Damsgaard <[email protected]> | |
Date: Wed, 1 Nov 2017 11:35:54 -0400 | |
remove redundant legacy render and animation scripts | |
Diffstat: | |
D examples/image.animate.sh | 8 -------- | |
D examples/image.pvpython.py | 192 -----------------------------… | |
D examples/logo.animate.sh | 4 ---- | |
D examples/logo.pvpython.py | 192 -----------------------------… | |
4 files changed, 0 insertions(+), 396 deletions(-) | |
--- | |
diff --git a/examples/image.animate.sh b/examples/image.animate.sh | |
t@@ -1,8 +0,0 @@ | |
-#!/bin/bash | |
-convert -trim +repage \ | |
- -delay 10 -transparent-color white -reverse -loop 0 \ | |
- image/*.png image/image.gif | |
- | |
-convert -trim +repage \ | |
- -delay 10 -transparent-color white -loop 0 \ | |
- image/*.png image/image-forward.gif | |
diff --git a/examples/image.pvpython.py b/examples/image.pvpython.py | |
t@@ -1,192 +0,0 @@ | |
-#### import the simple module from the paraview | |
-from paraview.simple import * | |
-#### disable automatic camera reset on 'Show' | |
-paraview.simple._DisableFirstRenderCameraReset() | |
- | |
-# create a new 'XML Unstructured Grid Reader' | |
-imageicefloes = XMLUnstructuredGridReader(FileName=['./image/image.icefloes.1.… | |
-imageicefloes.PointArrayStatus = ['Density [kg m^-3]', 'Thickness [m]', 'Diame… | |
- | |
-# get animation scene | |
-animationScene1 = GetAnimationScene() | |
- | |
-# update animation scene based on data timesteps | |
-animationScene1.UpdateAnimationUsingDataTimeSteps() | |
- | |
-# get active view | |
-renderView1 = GetActiveViewOrCreate('RenderView') | |
-# uncomment following to set a specific view size | |
-# renderView1.ViewSize = [2478, 1570] | |
- | |
-# show data in view | |
-imageicefloesDisplay = Show(imageicefloes, renderView1) | |
-# trace defaults for the display properties. | |
-imageicefloesDisplay.Representation = 'Surface' | |
-imageicefloesDisplay.AmbientColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.ColorArrayName = [None, ''] | |
-imageicefloesDisplay.OSPRayScaleArray = 'Angular acceleration [rad s^-2]' | |
-imageicefloesDisplay.OSPRayScaleFunction = 'PiecewiseFunction' | |
-imageicefloesDisplay.SelectOrientationVectors = 'Angular acceleration [rad s^-… | |
-imageicefloesDisplay.ScaleFactor = 6.050000000000001 | |
-imageicefloesDisplay.SelectScaleArray = 'Angular acceleration [rad s^-2]' | |
-imageicefloesDisplay.GlyphType = 'Arrow' | |
-imageicefloesDisplay.GlyphTableIndexArray = 'Angular acceleration [rad s^-2]' | |
-imageicefloesDisplay.DataAxesGrid = 'GridAxesRepresentation' | |
-imageicefloesDisplay.PolarAxes = 'PolarAxesRepresentation' | |
-imageicefloesDisplay.ScalarOpacityUnitDistance = 64.20669746996803 | |
-imageicefloesDisplay.GaussianRadius = 3.0250000000000004 | |
-imageicefloesDisplay.SetScaleArray = ['POINTS', 'Atmosphere drag coefficient (… | |
-imageicefloesDisplay.ScaleTransferFunction = 'PiecewiseFunction' | |
-imageicefloesDisplay.OpacityArray = ['POINTS', 'Atmosphere drag coefficient (h… | |
-imageicefloesDisplay.OpacityTransferFunction = 'PiecewiseFunction' | |
- | |
-# init the 'GridAxesRepresentation' selected for 'DataAxesGrid' | |
-imageicefloesDisplay.DataAxesGrid.XTitleColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.DataAxesGrid.YTitleColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.DataAxesGrid.ZTitleColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.DataAxesGrid.GridColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.DataAxesGrid.XLabelColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.DataAxesGrid.YLabelColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.DataAxesGrid.ZLabelColor = [0.0, 0.0, 0.0] | |
- | |
-# init the 'PolarAxesRepresentation' selected for 'PolarAxes' | |
-imageicefloesDisplay.PolarAxes.PolarAxisTitleColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.PolarAxes.PolarAxisLabelColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.PolarAxes.LastRadialAxisTextColor = [0.0, 0.0, 0.0] | |
-imageicefloesDisplay.PolarAxes.SecondaryRadialAxesTextColor = [0.0, 0.0, 0.0] | |
- | |
-# reset view to fit data | |
-renderView1.ResetCamera() | |
- | |
-#changing interaction mode based on data extents | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.5, 11.0, 10000.0] | |
-#renderView1.CameraFocalPoint = [30.5, 11.0, 0.0] | |
- | |
-# update the view to ensure updated data information | |
-renderView1.Update() | |
- | |
-# create a new 'Glyph' | |
-glyph1 = Glyph(Input=imageicefloes, | |
- GlyphType='Arrow') | |
-glyph1.Scalars = ['POINTS', 'Atmosphere drag coefficient (horizontal) [-]'] | |
-glyph1.Vectors = ['POINTS', 'Angular acceleration [rad s^-2]'] | |
-glyph1.ScaleFactor = 6.050000000000001 | |
-glyph1.GlyphTransform = 'Transform2' | |
- | |
-# Properties modified on glyph1 | |
-glyph1.Scalars = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1.Vectors = ['POINTS', 'Angular position [rad]'] | |
-glyph1.ScaleMode = 'scalar' | |
-glyph1.ScaleFactor = 1.0 | |
-glyph1.GlyphMode = 'All Points' | |
- | |
-# get color transfer function/color map for 'Diameterarealm' | |
-diameterarealmLUT = GetColorTransferFunction('Diameterarealm') | |
- | |
-# show data in view | |
-glyph1Display = Show(glyph1, renderView1) | |
-# trace defaults for the display properties. | |
-glyph1Display.Representation = 'Surface' | |
-glyph1Display.AmbientColor = [0.0, 0.0, 0.0] | |
-glyph1Display.ColorArrayName = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1Display.LookupTable = diameterarealmLUT | |
-glyph1Display.OSPRayScaleArray = 'Diameter (areal) [m]' | |
-glyph1Display.OSPRayScaleFunction = 'PiecewiseFunction' | |
-glyph1Display.SelectOrientationVectors = 'GlyphVector' | |
-glyph1Display.ScaleFactor = 6.1000000000000005 | |
-glyph1Display.SelectScaleArray = 'Diameter (areal) [m]' | |
-glyph1Display.GlyphType = 'Arrow' | |
-glyph1Display.GlyphTableIndexArray = 'Diameter (areal) [m]' | |
-glyph1Display.DataAxesGrid = 'GridAxesRepresentation' | |
-glyph1Display.PolarAxes = 'PolarAxesRepresentation' | |
-glyph1Display.GaussianRadius = 3.0500000000000003 | |
-glyph1Display.SetScaleArray = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1Display.ScaleTransferFunction = 'PiecewiseFunction' | |
-glyph1Display.OpacityArray = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1Display.OpacityTransferFunction = 'PiecewiseFunction' | |
- | |
-# init the 'GridAxesRepresentation' selected for 'DataAxesGrid' | |
-glyph1Display.DataAxesGrid.XTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.YTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.ZTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.GridColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.XLabelColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.YLabelColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.ZLabelColor = [0.0, 0.0, 0.0] | |
- | |
-# init the 'PolarAxesRepresentation' selected for 'PolarAxes' | |
-glyph1Display.PolarAxes.PolarAxisTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.PolarAxes.PolarAxisLabelColor = [0.0, 0.0, 0.0] | |
-glyph1Display.PolarAxes.LastRadialAxisTextColor = [0.0, 0.0, 0.0] | |
-glyph1Display.PolarAxes.SecondaryRadialAxesTextColor = [0.0, 0.0, 0.0] | |
- | |
-# show color bar/color legend | |
-glyph1Display.SetScalarBarVisibility(renderView1, True) | |
- | |
-# update the view to ensure updated data information | |
-renderView1.Update() | |
- | |
-# reset view to fit data | |
-renderView1.ResetCamera() | |
- | |
-# Properties modified on glyph1 | |
-glyph1.GlyphType = 'Sphere' | |
- | |
-# update the view to ensure updated data information | |
-renderView1.Update() | |
- | |
-# hide color bar/color legend | |
-glyph1Display.SetScalarBarVisibility(renderView1, False) | |
- | |
-# rescale color and/or opacity maps used to exactly fit the current data range | |
-glyph1Display.RescaleTransferFunctionToDataRange(False, True) | |
- | |
-# Rescale transfer function | |
-diameterarealmLUT.RescaleTransferFunction(0.0, 5.0) | |
- | |
-# get opacity transfer function/opacity map for 'Diameterarealm' | |
-diameterarealmPWF = GetOpacityTransferFunction('Diameterarealm') | |
- | |
-# Rescale transfer function | |
-diameterarealmPWF.RescaleTransferFunction(0.0, 5.0) | |
- | |
-# Apply a preset using its name. Note this may not work as expected when prese… | |
-diameterarealmLUT.ApplyPreset('Black, Blue and White', True) | |
- | |
-# Hide orientation axes | |
-renderView1.OrientationAxesVisibility = 0 | |
- | |
-# current camera placement for renderView1 | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.75, 10.99999962002039, 125.01319337485243] | |
-#renderView1.CameraFocalPoint = [30.75, 10.99999962002039, 0.0] | |
-#renderView1.CameraParallelScale = 20.56227912200389 | |
- | |
-# save animation | |
-#SaveAnimation('./image/image.avi', renderView1, ImageResolution=[1239, 785], | |
-# FrameRate=10, | |
-# FrameWindow=[0, 49]) | |
- | |
-# current camera placement for renderView1 | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.75, 10.99999962002039, 125.01319337485243] | |
-#renderView1.CameraFocalPoint = [30.75, 10.99999962002039, 0.0] | |
-#renderView1.CameraParallelScale = 20.56227912200389 | |
- | |
-# save animation | |
-SaveAnimation('./image/image.png', renderView1, ImageResolution=[1239, 785], | |
- FrameRate=10, | |
- FrameWindow=[0, 49]) | |
- | |
-#### saving camera placements for all active views | |
- | |
-# current camera placement for renderView1 | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.75, 10.99999962002039, 125.01319337485243] | |
-#renderView1.CameraFocalPoint = [30.75, 10.99999962002039, 0.0] | |
-#renderView1.CameraParallelScale = 20.56227912200389 | |
- | |
-#### uncomment the following to render all views | |
-# RenderAllViews() | |
-# alternatively, if you want to write images, you can use SaveScreenshot(...). | |
diff --git a/examples/logo.animate.sh b/examples/logo.animate.sh | |
t@@ -1,4 +0,0 @@ | |
-#!/bin/bash | |
-convert -trim +repage \ | |
- -delay 10 -transparent-color white -reverse -loop 0 \ | |
- logo/*.png logo/logo.gif | |
diff --git a/examples/logo.pvpython.py b/examples/logo.pvpython.py | |
t@@ -1,192 +0,0 @@ | |
-#### import the simple module from the paraview | |
-from paraview.simple import * | |
-#### disable automatic camera reset on 'Show' | |
-paraview.simple._DisableFirstRenderCameraReset() | |
- | |
-# create a new 'XML Unstructured Grid Reader' | |
-logoicefloes = XMLUnstructuredGridReader(FileName=['./logo/logo.icefloes.1.vtu… | |
-logoicefloes.PointArrayStatus = ['Density [kg m^-3]', 'Thickness [m]', 'Diamet… | |
- | |
-# get animation scene | |
-animationScene1 = GetAnimationScene() | |
- | |
-# update animation scene based on data timesteps | |
-animationScene1.UpdateAnimationUsingDataTimeSteps() | |
- | |
-# get active view | |
-renderView1 = GetActiveViewOrCreate('RenderView') | |
-# uncomment following to set a specific view size | |
-# renderView1.ViewSize = [2478, 1570] | |
- | |
-# show data in view | |
-logoicefloesDisplay = Show(logoicefloes, renderView1) | |
-# trace defaults for the display properties. | |
-logoicefloesDisplay.Representation = 'Surface' | |
-logoicefloesDisplay.AmbientColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.ColorArrayName = [None, ''] | |
-logoicefloesDisplay.OSPRayScaleArray = 'Angular acceleration [rad s^-2]' | |
-logoicefloesDisplay.OSPRayScaleFunction = 'PiecewiseFunction' | |
-logoicefloesDisplay.SelectOrientationVectors = 'Angular acceleration [rad s^-2… | |
-logoicefloesDisplay.ScaleFactor = 6.050000000000001 | |
-logoicefloesDisplay.SelectScaleArray = 'Angular acceleration [rad s^-2]' | |
-logoicefloesDisplay.GlyphType = 'Arrow' | |
-logoicefloesDisplay.GlyphTableIndexArray = 'Angular acceleration [rad s^-2]' | |
-logoicefloesDisplay.DataAxesGrid = 'GridAxesRepresentation' | |
-logoicefloesDisplay.PolarAxes = 'PolarAxesRepresentation' | |
-logoicefloesDisplay.ScalarOpacityUnitDistance = 64.20669746996803 | |
-logoicefloesDisplay.GaussianRadius = 3.0250000000000004 | |
-logoicefloesDisplay.SetScaleArray = ['POINTS', 'Atmosphere drag coefficient (h… | |
-logoicefloesDisplay.ScaleTransferFunction = 'PiecewiseFunction' | |
-logoicefloesDisplay.OpacityArray = ['POINTS', 'Atmosphere drag coefficient (ho… | |
-logoicefloesDisplay.OpacityTransferFunction = 'PiecewiseFunction' | |
- | |
-# init the 'GridAxesRepresentation' selected for 'DataAxesGrid' | |
-logoicefloesDisplay.DataAxesGrid.XTitleColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.DataAxesGrid.YTitleColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.DataAxesGrid.ZTitleColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.DataAxesGrid.GridColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.DataAxesGrid.XLabelColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.DataAxesGrid.YLabelColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.DataAxesGrid.ZLabelColor = [0.0, 0.0, 0.0] | |
- | |
-# init the 'PolarAxesRepresentation' selected for 'PolarAxes' | |
-logoicefloesDisplay.PolarAxes.PolarAxisTitleColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.PolarAxes.PolarAxisLabelColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.PolarAxes.LastRadialAxisTextColor = [0.0, 0.0, 0.0] | |
-logoicefloesDisplay.PolarAxes.SecondaryRadialAxesTextColor = [0.0, 0.0, 0.0] | |
- | |
-# reset view to fit data | |
-renderView1.ResetCamera() | |
- | |
-#changing interaction mode based on data extents | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.5, 11.0, 10000.0] | |
-#renderView1.CameraFocalPoint = [30.5, 11.0, 0.0] | |
- | |
-# update the view to ensure updated data information | |
-renderView1.Update() | |
- | |
-# create a new 'Glyph' | |
-glyph1 = Glyph(Input=logoicefloes, | |
- GlyphType='Arrow') | |
-glyph1.Scalars = ['POINTS', 'Atmosphere drag coefficient (horizontal) [-]'] | |
-glyph1.Vectors = ['POINTS', 'Angular acceleration [rad s^-2]'] | |
-glyph1.ScaleFactor = 6.050000000000001 | |
-glyph1.GlyphTransform = 'Transform2' | |
- | |
-# Properties modified on glyph1 | |
-glyph1.Scalars = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1.Vectors = ['POINTS', 'Angular position [rad]'] | |
-glyph1.ScaleMode = 'scalar' | |
-glyph1.ScaleFactor = 1.0 | |
-glyph1.GlyphMode = 'All Points' | |
- | |
-# get color transfer function/color map for 'Diameterarealm' | |
-diameterarealmLUT = GetColorTransferFunction('Diameterarealm') | |
- | |
-# show data in view | |
-glyph1Display = Show(glyph1, renderView1) | |
-# trace defaults for the display properties. | |
-glyph1Display.Representation = 'Surface' | |
-glyph1Display.AmbientColor = [0.0, 0.0, 0.0] | |
-glyph1Display.ColorArrayName = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1Display.LookupTable = diameterarealmLUT | |
-glyph1Display.OSPRayScaleArray = 'Diameter (areal) [m]' | |
-glyph1Display.OSPRayScaleFunction = 'PiecewiseFunction' | |
-glyph1Display.SelectOrientationVectors = 'GlyphVector' | |
-glyph1Display.ScaleFactor = 6.1000000000000005 | |
-glyph1Display.SelectScaleArray = 'Diameter (areal) [m]' | |
-glyph1Display.GlyphType = 'Arrow' | |
-glyph1Display.GlyphTableIndexArray = 'Diameter (areal) [m]' | |
-glyph1Display.DataAxesGrid = 'GridAxesRepresentation' | |
-glyph1Display.PolarAxes = 'PolarAxesRepresentation' | |
-glyph1Display.GaussianRadius = 3.0500000000000003 | |
-glyph1Display.SetScaleArray = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1Display.ScaleTransferFunction = 'PiecewiseFunction' | |
-glyph1Display.OpacityArray = ['POINTS', 'Diameter (areal) [m]'] | |
-glyph1Display.OpacityTransferFunction = 'PiecewiseFunction' | |
- | |
-# init the 'GridAxesRepresentation' selected for 'DataAxesGrid' | |
-glyph1Display.DataAxesGrid.XTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.YTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.ZTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.GridColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.XLabelColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.YLabelColor = [0.0, 0.0, 0.0] | |
-glyph1Display.DataAxesGrid.ZLabelColor = [0.0, 0.0, 0.0] | |
- | |
-# init the 'PolarAxesRepresentation' selected for 'PolarAxes' | |
-glyph1Display.PolarAxes.PolarAxisTitleColor = [0.0, 0.0, 0.0] | |
-glyph1Display.PolarAxes.PolarAxisLabelColor = [0.0, 0.0, 0.0] | |
-glyph1Display.PolarAxes.LastRadialAxisTextColor = [0.0, 0.0, 0.0] | |
-glyph1Display.PolarAxes.SecondaryRadialAxesTextColor = [0.0, 0.0, 0.0] | |
- | |
-# show color bar/color legend | |
-glyph1Display.SetScalarBarVisibility(renderView1, True) | |
- | |
-# update the view to ensure updated data information | |
-renderView1.Update() | |
- | |
-# reset view to fit data | |
-renderView1.ResetCamera() | |
- | |
-# Properties modified on glyph1 | |
-glyph1.GlyphType = 'Sphere' | |
- | |
-# update the view to ensure updated data information | |
-renderView1.Update() | |
- | |
-# hide color bar/color legend | |
-glyph1Display.SetScalarBarVisibility(renderView1, False) | |
- | |
-# rescale color and/or opacity maps used to exactly fit the current data range | |
-glyph1Display.RescaleTransferFunctionToDataRange(False, True) | |
- | |
-# Rescale transfer function | |
-diameterarealmLUT.RescaleTransferFunction(0.0, 5.0) | |
- | |
-# get opacity transfer function/opacity map for 'Diameterarealm' | |
-diameterarealmPWF = GetOpacityTransferFunction('Diameterarealm') | |
- | |
-# Rescale transfer function | |
-diameterarealmPWF.RescaleTransferFunction(0.0, 5.0) | |
- | |
-# Apply a preset using its name. Note this may not work as expected when prese… | |
-diameterarealmLUT.ApplyPreset('Black, Blue and White', True) | |
- | |
-# Hide orientation axes | |
-renderView1.OrientationAxesVisibility = 0 | |
- | |
-# current camera placement for renderView1 | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.75, 10.99999962002039, 125.01319337485243] | |
-#renderView1.CameraFocalPoint = [30.75, 10.99999962002039, 0.0] | |
-#renderView1.CameraParallelScale = 20.56227912200389 | |
- | |
-# save animation | |
-#SaveAnimation('./logo/logo.avi', renderView1, ImageResolution=[1239, 785], | |
-# FrameRate=10, | |
-# FrameWindow=[0, 49]) | |
- | |
-# current camera placement for renderView1 | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.75, 10.99999962002039, 125.01319337485243] | |
-#renderView1.CameraFocalPoint = [30.75, 10.99999962002039, 0.0] | |
-#renderView1.CameraParallelScale = 20.56227912200389 | |
- | |
-# save animation | |
-SaveAnimation('./logo/logo.png', renderView1, ImageResolution=[1239, 785], | |
- FrameRate=10, | |
- FrameWindow=[0, 49]) | |
- | |
-#### saving camera placements for all active views | |
- | |
-# current camera placement for renderView1 | |
-renderView1.InteractionMode = '2D' | |
-#renderView1.CameraPosition = [30.75, 10.99999962002039, 125.01319337485243] | |
-#renderView1.CameraFocalPoint = [30.75, 10.99999962002039, 0.0] | |
-#renderView1.CameraParallelScale = 20.56227912200389 | |
- | |
-#### uncomment the following to render all views | |
-# RenderAllViews() | |
-# alternatively, if you want to write images, you can use SaveScreenshot(...). |