関です。お世話になっております。
BlockRowRepeatParamParserの問題が解決しましたので ExCella Reports 1.10 にて POI 3.11 以降の動作検証を行っていましたところ、
POIのPictureのresizeメソッドの仕様が変わったことが原因で、ImageParamParserに問題が発生しました。
まず、ExCella ReportsのImageParamParserでは、scaleパラメータ未指定の場合は
と初期値 1.0 を詰め、
Picture picture = drawing.createPicture( anchor, pictureIdx);
picture.resize( scale);
とresizeメソッドを実行されています。
POI 3.10.1 までのresizeメソッドは“元の画像ファイル”のサイズをもとにリサイズを行っているのでそれで問題なかったのですが、
3.11 からは“画像を差し込むセル”のサイズをもとにリサイズを行う仕様に変更されたようで、結果として元の画像のサイズで
差し込むことができなくなってしまいました。
それで色々試してみましたところ、元の画像のサイズで差し込む場合は
と引数無のresizeメソッドを実行すれば良いようでした。
その為、お手数ですがExcelテンプレートの$Iタグでscaleパラメータ未指定の場合は picture.resize(); を実行するように
ImageParamParserの仕様を変更することを検討していただけないでしょうか。
それと追加の要望ですが、POI 3.11 からPictureインターフェースに
void resize(double scaleX, double scaleY);
と幅と高さのscaleをそれぞれ指定できるresizeメソッドが追加されました。
これが使えると助かる時がありますので、お手数ですがExcelテンプレートのパラメータで scaleX, scaleY を指定できる機能の追加も
検討していただけないでしょうか。
今回の内容は検証に時間がかかると思いますので、対応は急ぎではありません。
色々お手数をおかけしますが検討をお願い致します。