Bir Hücreye Resim Ekleme

Introduction

Bir resmi tam olarak tek bir hücreye sığdırmak, görsel raporlar, ürün katalogları, çalışan dizinleri, panolar veya envanter listeleri gibi elektronik tablolar tasarlarken yaygın bir gereksinimdir. Bir görüntüyü birçok hücreye yaymak veya çalışma sayfasına gevşek bir şekilde yerleştirmek yerine, sahibi olan hücreyle hizalı kalan temiz, hücreye bağlı bir resim isteyebilirsiniz. Aspose.Cells bu senaryoyu iki tamamlayıcı şekilde destekler:

  • Yaklaşım 1 — Bir hücrenin üzerine kayan bir resim yerleştirin. Çalışma sayfasına bir Picture ekleyin, Placement özelliğini MOVE_AND_SIZE olarak ayarlayın ve bağlantı hücrelerini (getUpperLeftRow, getUpperLeftColumn, getLowerRightRow, getLowerRightColumn) resmin tam olarak bir hücreyi kaplayacağı şekilde ayarlayın.
  • Yaklaşım 2 — Bir görüntüyü doğrudan bir hücreye gömün. Görüntü baytlarını hücrenin getEmbeddedImage() ayarlayıcısına atayın. Görüntü, hücrenin görüntü alanına sığacak şekilde otomatik olarak ölçeklenir ve hücreyle birlikte hareket eder. Bu makalenin geri kalanı her iki yaklaşımı adım adım açıklar, ilgili API’leri anlatır ve bunların kodda nasıl kullanılacağını gösterir.

Approach 1: Place a Picture Over a Cell

Kayan resim, çalışma sayfasının çizim katmanında bulunan bir Picture nesnesidir. Herhangi bir tek hücrenin parçası olmasa da, bir hücre aralığına bağlıdır. Resmin bağlantı hücreleri — sol üst ve sağ alt köşeleri — çalışma sayfasındaki görsel kapsamını belirler. Varsayılan olarak, yeni eklenen bir resim birkaç hücreye yayılır. Kayan bir resmin tam olarak bir hücreyi kaplamasını sağlamak için şunları yapmanız gerekir:

  1. Resmi Worksheet.getPictures().add(int row, int column, InputStream stream) kullanarak ekleyin; bu yöntem yeni resmi verilen hücreye bağlar.
  2. Resmin sınırlayıcı dikdörtgeninin hedef hücreyle çakışması için dört bağlantı özelliğini ayarlayın.
  3. Kullanıcı sütun genişliğini veya satır yüksekliğini değiştirdiğinde resmin temel alınan hücreyle birlikte taşınması ve yeniden boyutlandırılması için Picture.setPlacement() değerini PlacementType.MOVE_AND_SIZE olarak ayarlayın.

Anchoring the Picture to a Single Cell

Resmin bağlantısı, sıfır tabanlı dört indeks özelliğiyle tanımlanır:

  • Picture.getUpperLeftRow() — resmin üst kenarının satır indeksi.
  • Picture.getUpperLeftColumn() — resmin sol kenarının sütun indeksi.
  • Picture.getLowerRightRow() — resmin alt kenarının satır indeksi. Resmin alt kenarının r satırının alt kısmında bitmesini sağlamak için bunu r + 1 olarak ayarlayın.
  • Picture.getLowerRightColumn() — resmin sağ kenarının sütun indeksi. Resmin sağ kenarının c sütununun sağ kısmında bitmesini sağlamak için bunu c + 1 olarak ayarlayın.