セルへの画像の挿入

Introduction

1つのセルに正確に画像を合わせることは、視覚的なレポート、製品カタログ、社員ディレクトリ、ダッシュボード、在庫リストとして機能するスプレッドシートをデザインする際に一般的な要件です。多くのセルにわたって画像を引き伸ばしたり、ワークシート上に緩く配置したりする代わりに、所有するセルと整合性を保つクリーンなセル境界の画像が必要になる場合があります。 Aspose.Cellsは、このシナリオを2つの補完的な方法でサポートします。

  • 方法1 — セル上にフローティング画像を配置する。 ワークシートにPictureを追加し、そのPlacementをMoveAndSizeに設定し、配置セル(UpperLeftRow、UpperLeftColumn、LowerRightRow、LowerRightColumn)を調整して、画像がちょうど1つのセルを覆うようにします。
  • 方法2 — 画像をセルに直接埋め込む。 画像のバイトをセルのEmbeddedImageプロパティに割り当てます。画像はセルの表示領域に合わせて自動的に拡大縮小され、セルと一緒に移動します。 この記事の残りの部分では、両方のアプローチを順に説明し、関連するAPIを説明し、コードでの使用法を示します。

Approach 1: Place a Picture Over a Cell

フローティング画像は、ワークシートの描画レイヤーに存在するPictureオブジェクトです。単一のセルの一部ではありませんが、セルの範囲に固定されます。画像の固定セル — 左上と右下の角 — は、ワークシート上の視覚的な範囲を決定します。デフォルトでは、新しく追加された画像は複数のセルにまたがります。 フローティング画像をちょうど1つのセルを覆うようにするには、次の手順が必要です。

  1. Worksheet.Pictures.Add(int row, int column, Vector<uint8_t> stream)を使用して画像を追加します。これにより、新しい画像が指定されたセルに固定されます。
  2. 4つの固定プロパティを設定して、画像の境界矩形が目的のセルと一致するようにします。
  3. ユーザーが列幅または行の高さを変更したときに、画像が基になるセルと共に移動およびサイズ変更されるように、Picture.PlacementをPlacementType.MoveAndSizeに設定します。

Anchoring the Picture to a Single Cell

画像の固定は、4つの0から始まるインデックスプロパティによって定義されます。

  • Picture.UpperLeftRow — 画像の上端の行インデックス。
  • Picture.UpperLeftColumn — 画像の左端の列インデックス。
  • Picture.LowerRightRow — 画像の下端の行インデックス。画像の下端を行rの下部に配置するには、これをr + 1に設定します。
  • Picture.LowerRightColumn — 画像の右端の列インデックス。画像の右端を列cの右側に配置するには、これをc + 1に設定します。