Curl部品を画像に保存する方法

ご質問】
 Curlで画面上に表示した部品を画像として保存する方法はありますか?

【回答】

以下の手順にて作成することが可能です。

①GraphicオブジェクトをGraphic-to-PixmapプロシジャにてPixmapに変換し
②変換されたPixmapをImageData.save-to-urlにて画像保存することが可能です。

 

||グラフィックオブジェクト
{let g:VBox = {VBox
                  width  = 5cm ,
                  height = 5cm,
                  background = “blue”
              }
}

||グラフィックオブジェクトの表示
{value
    {VBox
        g,
        {HBox
            {CommandButton
                label = “JPEG”,
                {on Action do
                    let image-data:ImageData = {ImageData}
                   
                    ||グラフィックオブジェクトをPixmapに変換する
                    def pixmap = {Graphic-to-Pixmap g}
                   
                    ||ImageDataクラスにPixmapを設定する。
                    set image-data.pixmaps = {new {Array-of Pixmap},pixmap}

                    ||画像ファイルに変換する。
                    {image-data.save-to-url {url “./sample.jpeg”} , “image/jpeg”}  
                }
            },
            {CommandButton
                label = “PDF”,
                {on Action do
                    {print-graphic-pdf g,{url “./sample.pdf”}}
                }
            }
        }
    }
}