FastReportで図オブジェクトを利用する時に重要な5つのプロパティ



FastReportではレポート内にJpegやEMFなどの画像要素を挿入することができますが、挿入する画像の見た目などに影響を及ぼす特に重要なプロパティが5つあります。

その動きを確認しながら解説しました。

ドリームハイブの山本です。
本日は、FastReportの持つ図オブジェクトについてお伝えします。

図オブジェクトというのは、左側のツールバーの中にある図オブジェクト、これをそのままなんですけれども、使います。

クリックすると、何もしなければどのような図を使うのか、というダイアログが開くのですけれども、もし出なかった場合などがあれば、ダブルクリックしてあげると出てきます。

この中で、読み込みボタンを押しますと、画像が選択できる画面が開くのですが、使える図の種類は、BMP、JPG、PNG、ICO、WMF、PMF、この5種類です。

この中では、わかりやすい絵を1個作っておいたので、これを開きます。

色が背景オレンジになっているキャラクターの絵ですね。

チェック、OKしておくと、今画面上に小さく図が表示されたのがわかると思います。

このままハンドルをドラッグすると、大きく図が表示されてることが見えると思います。

今回は、この図オブジェクトについて、5つ、大事なプロパティをお話ししたいと思います。

まず1つ目は、AutoSizeプロパティです。

AutoSizeプロパティは、標準ではFalseになってるのですが、これをTrueにすると、元々の図の大きさ、これは800×600の図なんですが、1度AutoSizeをTrueにすると、その時、ハンドルのサイズ、現在の状態に関わらず、大きさが1度800×600に引き伸ばされるんですね。

なので、このサイズ、いっぱいいっぱいになってしまうんですが、もう1度、ハンドルを使って図を小さくしたりすると、きちんとその枠内に収まるように変わります。

AutoSizeをもう1回Falseにして、Trueにし直すと、また800×600の元のサイズに戻るということが、今の動きで見て取れればと思います。

1回、これFalseにして元に戻します。

ちょっと小さくします。

続いて、2つ目のプロパティは、Stretchedというものです。

Stretchedというのは、規定で有効になっているんですが、Stretched、Trueですね。

これ、Falseにするとどうなるかと言うと、さっきと違って、ハンドルの、この図オブジェクトの大きさは変わらず、内側に絵が、読み込んだ図が入った状態になります。

だから、縦とか横とか大きさを変えても、図の中身の絵の大きさは変わらないので、ずっと残ったままになるというのが、これがStretchedプロパティの動きです。

また元に戻します。

続いては、Centerというプロパティです。

CenterをTrueにすると、今左側に寄っていた絵が真ん中寄せになったことがわかると思います。

これは、図オブジェクトの大きさの中で、真ん中になるように絵を配置するというものです。

例えばこの図であれば、今Stretchedが効いてますので、大きさが横に長い、図の縦横比よりも横の比率が長い場合、左右に白い空白が入って、真ん中寄せになっていることがわかると思います。

同じように、これをこうだんだんと小さくして、逆に小さくしていくと、今度は図の縦横比の高さよりも、図オブジェクトの縦のほうが比率が長いので、上下に空白ができるというような、こんな動きになるわけですね。

こんな感じで、大きさが変わることが見えれば良いでしょう。

Centerがなかった時の動きをもう1回見てみると、左寄せが左上から寄せてることが基本なんですね。

大きさをこうやって、左右、こう比率を変えた時に、余白が必ず右側と下側についてくることがわかると思います。

そして、4つ目はKeepAspectRatioですね。

KeepAspectRatioは、標準ではTrueになっているんですが、これFalseにすると、要は図オブジェクトの内側いっぱいいっぱいに読み込んだ画像が広がるというものです。

縦横比を維持しなくなるんですね。

なので、いっぱいいっぱいに広がってるので、横に長くしたりとか、縦に長くしたり、というような動きになります。

これも、元に戻しておきましょう。
KeepAspectRatio。

このように、プロパティをいじることによって、読み込んだ図をどのように表示するのかというのを簡単に動かすことができるというのがわかっていただければと思います。

そして、5つ目のプロパティは何かというと、これは、FileLinkというプロパティで、インスペクタからしか設定ができないんですが、標準では空になっています。

どのようなものかと言うと、これは、実行時に読み込まれた、ここのFileLinkに指定された変数、もしくは、直接渡されたパスなどを使って画像を割り当てる機能です。

今、これはもう読み込んだ状態なんですが、1回、消した状態で保存し、このFileLinkに指定したのはCドライブから実際に読み込んだ画像までのパスです。

で、これ設定した時には、何の動きもしないんですけれども、今表示されてないと思うんですけれども、これをプレビューした時に、つまりレポートを実行した時には、指定された画像を読み込むなどを行うことができるわけですね。

なので、データベースの値などを使ったりとかっていうこともできますし、図オブジェクトを使って外部のファイルを読み込んでみたりとかっていうのを動的に行ったりすることも可能です。

定義さえされていれば、データツリーの中の変数メニューから、ここに読み込ませるということもできます。

かなり柔軟に、図オブジェクトというのは、プロパティを利用して、さまざまな動きをさせることがわかっていただければ良いかと思います。

特に、帳票類というのは、大きさが指定されている画像、特に、完全に固定されたサイズというのが決まっていることが日本の場合、多いので、それに合わせてどのように調整するのかっていうのを今のプロパティの組み合わせで考えていただければと思います。

本日は、以上です。