TIFF karelerini çıkar

Tag Image File Format, kısaltılmış TIFF veya TIF, grafik sanatçıları, yayıncılık sektörü ve fotoğrafçılar arasında popüler olan raster grafik görüntülerini depolamak için bir bilgisayar dosya biçimidir. TIFF, “sıkıştırılmamış” bir biçim olduğu için JPEG, GIF ve PNG’ten farklıdır. TIFF dosyaları, her biri birden fazla kanala sahip birden fazla görüntüyü depolama kapasitesine sahiptir. Genellikle, bu birden fazla görüntü, bir zaman yığınındaki veya z yığınındaki ardışık kareleri temsil eder ve bu nedenle bu görüntülerin her biri aynı boyuta sahiptir.

TIFF’te elde ettiğimiz diğer seçenekler, katmanların ve katmanın şeffaflıkla karşılaştırılabileceği, görüntü efektlerinin veya görüntülerin uygulandığı ve bir görüntünün üstüne veya altına yerleştirildiği sayfalardır. Aşağıdaki görüntüde gösterildiği gibi, görüntü sahip olduğu birden fazla katmanı göstermektedir. Bu makalede, Aspose.Imaging Cloud SDK for .NET kullanarak çok kareli TIFF görüntülerinden karelerin nasıl çıkarılacağına ilişkin adımları tartışacağız.

Çerçeveli TIFF resmi

SDK Kurulumu

Aspose.Imaging Cloud SDK for .NET, Aspose.Imaging Cloud API’nin üzerinde geliştirilen bir programlama SDK’sıdır ve .NET geliştiricilerine tüm görüntü işleme yeteneklerini sağlar. Bu nedenle ilk adım, NuGet ve GitHub‘dan indirilebilen SDK’yı yüklemektir. SDK’yı NuGet kitaplığından yüklemek için aşağıdaki komutu yürütün.

Install-Package Aspose.Imaging-Cloud

Veya alternatif olarak, aşağıda gösterildiği gibi Visual Studio’daki NuGet paket yöneticisini kullanarak paketi ekleyebilirsiniz. Aspose.Cloud SDK’ları nasıl yüklenir hakkında daha fazla ayrıntı için aşağıdaki bağlantıyı ziyaret etmeyi düşünebilirsiniz.

Aspose.Görüntüleme Cloud SDK'sı

Şimdi SDK’yı kullanmak için bir sonraki adım kişiselleştirilmiş ClientID ve ClientSecret bilgilerinizi edinmektir. Bu nedenle, ilk adım Aspose.Cloud panosunu ziyaret ederek bir hesap oluşturmaktır. GitHub veya Google hesabınız varsa, sadece Kaydolun. Aksi takdirde, Yeni Hesap Oluştur düğmesine tıklayın ve gerekli bilgileri sağlayın. Şimdi kimlik bilgilerini kullanarak panoya giriş yapın ve panodan Uygulamalar bölümünü genişletin ve İstemci Kimliği ve İstemci Sırrı ayrıntılarını görmek için İstemci Kimlik Bilgileri bölümüne doğru aşağı kaydırın.

ClientID ve ClientSecret önizlemesi

cURL komutunu kullanarak TIFF karelerini çıkarın

Öncelikle, herhangi bir platformda REST API’lerine erişmenin kolay yollarından biri olduğu için cURL komutunu kullanarak TIFF çerçevelerinin çıkarılmasını ele alacağız. Platform ve altta yatan mimari karmaşıklıklardan bağımsız olarak. Dolayısıyla cURL komutlarını kullanmak için ilk adım, Aspose.Cloud panosundan alınan ClientID ve ClientSecret ayrıntılarınıza dayalı JSON Web Token (JWT) üretmektir. Lütfen JWT token’ını üretmek için terminalde aşağıdaki komutu çalıştırın

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Devam etmeden önce, çerçevenin aşağıdaki iki API’den birini kullanarak çıkarılabileceğini lütfen unutmayın:

İlk API, önce Cloud Storage’a bir görüntü yüklemenizi ve ardından API URL’sinde adını geçirmenizi bekler. Görüntü parametrelerini güncelledikten sonra API, yanıtta güncellenmiş görüntüyü döndürür.

Öte yandan, ikinci API ile görüntüyü doğrudan istek gövdesine geçirebilirsiniz. Ayrıca, outPath parametre değerini belirterek güncellenmiş görüntüyü Cloud Storage’a kaydetmenize olanak tanır. Ancak, değeri belirtmezseniz, yanıt akışlı bir görüntü içerir.

Şimdi bulut depolamaya yüklenmiş olan TiffSampleImage.tiff resminden 4. kareyi çıkarmak için aşağıdaki komutu kullanın.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/TiffSampleImage.tiff/frames/4?saveOtherFrames=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o myresultant.tiff

C# dilinde TIFF kareleri nasıl çıkarılır

Bu bölümde, C# .NET kullanarak TIFF çerçevesini çıkaracağız. Lütfen aşağıda verilen adımları izleyin

  • İlk adım, ClientID ve ClientSecret’ı argüman olarak sağlayarak ImagingApi nesnesini oluşturmaktır
  • Giriş TIFF görüntüsünü tanımlayan bir dize nesnesi oluşturun
  • Çıkarılacak çerçeveyi belirtmek için bir tamsayı oluşturun
  • Çıkarılan çerçevenin boyutlarını belirtmek için tamsayı nesneleri oluşturun
  • Bir sonraki adım, girdi TIFF adını, çerçeve kimliğini ve çıkarılan çerçeve boyutlarıyla ilgili diğer parametreleri argüman olarak alan bir nesne GetImageFrameRequest oluşturmaktır
  • Son olarak, giriş argümanı olarak GetImageFrameRequest nesnesini alan ImagingApi’nin GetImageFrame(..) metodunu çağırın
  • Son olarak, sürücüyü yüklemek için çıktıyı kaydedin
string clientID = "718e4235-8866-4ebe-bff4-f5a14a4b6466"; // Get ClientID from https://dashboard.aspose.cloud/
string clientSecret = "388e864b819d8b067a8b1cb625a2ea8e"; // Get CLientSecret from https://dashboard.aspose.cloud/

// ImagingApi'nin bir örneğini oluşturun
Aspose.Imaging.Cloud.Sdk.Api.ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// Giriş TIFF görüntüsü Cloud depolamada mevcut
String fileName = "TiffSampleImage.tiff";

int? frameId = 5; // Index of a frame
int? newWidth = 300;
int? newHeight = 450;
int? x = 10;
int? y = 10;
int? rectWidth = 200;
int? rectHeight = 300;

string rotateFlipMethod = "RotateNoneFlipNone";

// Sonuç yalnızca belirtilen çerçeveyi içerecektir
bool? saveOtherFrames = false;

string folder = null; // Input file is saved at the root of the storage
string storage = null; // We are using default Cloud Storage

GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest(fileName, frameId, newWidth, newHeight,
                                x, y, rectWidth, rectHeight, rotateFlipMethod, saveOtherFrames, folder, storage);

Stream imageFrame = imagingApi.GetImageFrame(getImageFrameRequest);

// Güncellenen görüntüyü yerel depolamaya kaydet
using (var fileStream = File.Create("/Users/nayyershahbaz/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Lütfen rotateFlipMethod özelliğinin aşağıdaki değerlerden birine sahip olabileceğini unutmayın

RotateFlip yöntemi (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).Varsayılan, RotateNoneFlipNone’dur.

Çözüm

Çoklu kareli TIFF’ten TIFF karelerinin çıkarılması yukarıdaki makalede açıklanmıştır. Kare çıkarmanın yanı sıra, API TIFF karelerini yeniden boyutlandırmanıza, TIFF kare özelliklerini almanıza, Bir TIFF karesini kırpmanıza, Bir TIFF karesini döndürmenize vb. olanak tanır. API’yi kullanırken herhangi bir sorunla karşılaşırsanız, lütfen ücretsiz destek forumu aracılığıyla bizimle iletişime geçmekten çekinmeyin.

Ayrıca daha fazla bilgi için aşağıdaki bağlantıları incelemenizi öneririz: