Ruggiero,
Attached is the script I used on ParaView master. It saves a 1000x1000 png.
I had to uncomment renderView1.ViewSize and change the magnification for
SaveScreenshot to 1.
Dan
On Thu, Sep 10, 2015 at 9:38 PM, Ruggiero Guida <[email protected]>
wrote:
> Attached. Thanks for checking.
>
> On 11 September 2015 at 09:34, Dan Lipsa <[email protected]> wrote:
>
>> If you send me your test.vtk I can try to generate the script on my
>> machine.
>>
>> Dan
>>
>>
>> On Thu, Sep 10, 2015 at 9:10 PM, Ruggiero Guida <[email protected]
>> > wrote:
>>
>>> I am using the 4.3.1 binary version downloaded from the website. I
>>> generated my script starting from the trace as you suggest. Uncommenting
>>> the ViewSize on your script works. The fact is that it does not work on
>>> mine and i really don't understand why. I guess it is related to the
>>> settings of the camera.
>>>
>>> Have you tried to run my script on your machine? I would expect to have
>>> a square image with the data fitted perfectly into it, but as soon as I
>>> increase the ViewSize above 855x855, only the horizontal size increases. As
>>> you can see from the VTK the source data is 24x24.
>>>
>>> Thanks
>>>
>>>
>>>
>>> On 11 September 2015 at 08:51, Dan Lipsa <[email protected]> wrote:
>>>
>>>> What version of ParaView do you use? I run the script on a ParaView
>>>> source build from git master.
>>>>
>>>>
>>>> You should be able to do Tools / Start Trace, open your file and then
>>>> save it to the desired resolution. The script generated should tell you
>>>> what settings you need. You might need to uncomment the setting of the
>>>> ViewSize. This is what I had to do.
>>>>
>>>> On Thu, Sep 10, 2015 at 6:41 PM, Ruggiero Guida <
>>>> [email protected]> wrote:
>>>>
>>>>> Thanks Dan.
>>>>>
>>>>> The image saved is 648 x 639 (see attached). What I am not
>>>>> understanding is the relation between ViewSize, camera settings and actual
>>>>> image size in pixels.
>>>>>
>>>>> I would like to use paraview to render some textures that I will be
>>>>> using in my code and I need the image ti fit perfectly the content.
>>>>>
>>>>> On 10 September 2015 at 23:19, Dan Lipsa <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Ruggiero,
>>>>>> The following script saves a 100x100 sphere.
>>>>>> I created it using the trace option in ParaView.
>>>>>>
>>>>>>
>>>>>> On Thu, Sep 10, 2015 at 5:07 AM, Ruggiero Guida <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> I am trying to create a screenshot of a specific size from a [VTK
>>>>>>> file][1].
>>>>>>> This is the code I am using
>>>>>>>
>>>>>>> from paraview.simple import *
>>>>>>> paraview.simple._DisableFirstRenderCameraReset()
>>>>>>> rad_map = LegacyVTKReader(FileNames=['test.vtk'])
>>>>>>>
>>>>>>> # get active view
>>>>>>> renderView1 = GetActiveViewOrCreate('RenderView')
>>>>>>> dpi = 70
>>>>>>> heigth = 24.39846235421442
>>>>>>> width = 24.398462354214413
>>>>>>> width_p = int(width * dpi)
>>>>>>> heigth_p = int(heigth * dpi)
>>>>>>> renderView1.ViewSize = [width_p, heigth_p]
>>>>>>>
>>>>>>> # reset view to fit data
>>>>>>> #renderView1.ResetCamera()
>>>>>>>
>>>>>>> # current camera placement for renderView1
>>>>>>> renderView1.CameraParallelProjection = 1
>>>>>>> renderView1.CameraPosition = [5, 5, 1000]
>>>>>>> renderView1.CameraFocalPoint = [5, 5, 0.0]
>>>>>>> renderView1.CameraViewUp = [0.0, 1.0, 0.0]
>>>>>>> scale = (heigth) / 2.0
>>>>>>> renderView1.CameraParallelScale = scale
>>>>>>>
>>>>>>> Render()
>>>>>>> SaveScreenshot("/Users/ruggiero/dev/test.png", magnification=1)
>>>>>>>
>>>>>>> The problem is that the `ViewSize` seems to be ignored and I keep
>>>>>>> having images of fixed size 1707 × 855. The height 855 seems to be a
>>>>>>> kind
>>>>>>> of limit; the only way to get what I want is to limit the `ViewSize` to
>>>>>>> 855x855.
>>>>>>>
>>>>>>> I have checked [this][2] question and [this][3] question, but with
>>>>>>> no success.
>>>>>>>
>>>>>>> Any idea? I am not very confident in the settings for the camera.
>>>>>>> Could this be the issue?
>>>>>>>
>>>>>>>
>>>>>>> [1]: https://dl.dropboxusercontent.com/u/1342856/test.vtk
>>>>>>> [2]:
>>>>>>> http://stackoverflow.com/questions/31930448/in-python-script-for-paraview-can-i-specify-the-resolution-when-i-do-a-savescre
>>>>>>> [3]:
>>>>>>> http://stackoverflow.com/questions/27430588/paraview-python-command-to-save-picture-of-defined-size
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Powered by www.kitware.com
>>>>>>>
>>>>>>> Visit other Kitware open-source projects at
>>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>>
>>>>>>> Please keep messages on-topic and check the ParaView Wiki at:
>>>>>>> http://paraview.org/Wiki/ParaView
>>>>>>>
>>>>>>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>>>>>>
>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>> http://public.kitware.com/mailman/listinfo/paraview
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
#### import the simple module from the paraview
from paraview.simple import *
#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()
# create a new 'Legacy VTK Reader'
testvtk = LegacyVTKReader(FileNames=['/home/danlipsa/Downloads/test.vtk'])
# get active view
renderView1 = GetActiveViewOrCreate('RenderView')
# uncomment following to set a specific view size
renderView1.ViewSize = [1000, 1000]
# get color transfer function/color map for 'surfacedirectshortwave'
surfacedirectshortwaveLUT = GetColorTransferFunction('surfacedirectshortwave')
# show data in view
testvtkDisplay = Show(testvtk, renderView1)
# trace defaults for the display properties.
testvtkDisplay.ColorArrayName = ['CELLS', 'surface_direct_shortwave']
testvtkDisplay.DiffuseColor = [0.0, 0.65, 1.0]
testvtkDisplay.LookupTable = surfacedirectshortwaveLUT
# reset view to fit data
renderView1.ResetCamera()
#changing interaction mode based on data extents
renderView1.InteractionMode = '2D'
renderView1.CameraPosition = [5.000000476837158, 5.000000476837158, 10001.5]
renderView1.CameraFocalPoint = [5.000000476837158, 5.000000476837158, 1.5]
# show color bar/color legend
testvtkDisplay.SetScalarBarVisibility(renderView1, True)
# Rescale transfer function
surfacedirectshortwaveLUT.RescaleTransferFunction(0.0, 337.442047119)
# get opacity transfer function/opacity map for 'surfacedirectshortwave'
surfacedirectshortwavePWF = GetOpacityTransferFunction('surfacedirectshortwave')
# Rescale transfer function
surfacedirectshortwavePWF.RescaleTransferFunction(0.0, 337.442047119)
# current camera placement for renderView1
renderView1.InteractionMode = '2D'
renderView1.CameraPosition = [5.000000476837158, 5.000000476837158, 10001.5]
renderView1.CameraFocalPoint = [5.000000476837158, 5.000000476837158, 1.5]
renderView1.CameraParallelScale = 17.252318814044713
# save screenshot
SaveScreenshot('/home/danlipsa/Downloads/test.png', magnification=1, quality=100, view=renderView1)
#### saving camera placements for all active views
# current camera placement for renderView1
renderView1.InteractionMode = '2D'
renderView1.CameraPosition = [5.000000476837158, 5.000000476837158, 10001.5]
renderView1.CameraFocalPoint = [5.000000476837158, 5.000000476837158, 1.5]
renderView1.CameraParallelScale = 17.252318814044713
#### uncomment the following to render all views
# RenderAllViews()
# alternatively, if you want to write images, you can use SaveScreenshot(...).
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Search the list archives at: http://markmail.org/search/?q=ParaView
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview