Resim Kesme C#

C# ile programlı olarak görüntülerle çalışmak, geliştiricilere yeniden boyutlandırma, döndürme ve kırpma gibi çeşitli manipülasyonlar yapma imkanı sunar. Bu görevler arasında, kırpma, bir görüntüden belirli bir alanı çıkarmak veya istenmeyen kenar boşluklarını kaldırmak istediğinizde özellikle faydalıdır. Bu kılavuzda, .NET için Conholdate.Total kullanarak C#`ta görüntüleri nasıl kırpacağımıza odaklanacağız.

İki farklı kesme tekniği ile sizi yürütüceğiz; biri görüntüyü her tarafından kesmek için kaydırma değerleri kullanırken, diğeri görüntünün belirli bir bölümünü izole etmek için özel bir dikdörtgen tanımlayarak. Her bölüm, iyi belgelenmiş kod parçacıkları ve gerçek dünya uygulamaları için pratik bilgiler içermektedir.

Neden C# ile Programlı Olarak Görüntüleri Keselim?

Resimlerin programatik olarak kesilmesinin faydalı olduğu birkaç senaryo vardır:

  • İçeriğe Odaklanın: Kırpma, bir görüntünün belirli bir kısmını vurgulamanıza olanak tanır; bu da profil fotoğrafları, küçük resimler veya belge taramaları için idealdir.

  • Otomatik Görüntü İşleme: Toplu görüntü düzenleme veya kullanıcı tarafından yüklenen içeriklerle ilgili uygulamalarda, kırpma işleminin otomatikleştirilmesi iş akışlarını düzene sokar ve manuel çabayı ortadan kaldırır.

  • Uyum ve Gizlilik: Kırpma, görüntüleri paylaşmadan önce hassas veya alakasız verileri kaldırmak için kullanılabilir.

Kırpma sadece estetik bir ayar değil, veri işleme, kullanıcı deneyimi tasarımı ve sistem performansının kritik bir parçasıdır.

JPG PNG BMP Görüntülerini Kırp - .NET API Konfigürasyonu

You can setup Conholdate.Total for .NET easily with the NuGet installation command below:

Install-Package Conholdate.Total

C# dilinde Kenarları Kaydırarak Resimleri Kırpma

İlk yöntem, bir görüntüyü kenarlarını içe kaydırarak nasıl kırpacağınızı gösterir. Bu, özellikle görüntünün üst, alt, sol ve sağ taraflarından kenarları eşit veya asimetrik bir şekilde kesmek istediğinizde faydalıdır.

// Load the image to be cropped.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Before cropping, the image should be cached for better performance.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Define shift values for all four sides.
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // Based on the shift values, apply the cropping on image. Crop method will shift the image bounds toward the center of image.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // Save cropped image.
    rasterImage.Save("cropped.png");
}

Bu örnekte, bir PNG resmi yüklüyor ve her taraftan kaldırılacak piksel sayısını belirtiyoruz. Crop yöntemi, görüntünün boyutlarını içe doğru ayarlayarak gereksiz kenarları ortadan kaldırırken görüntü bütünlüğünü korur. Bu yöntemi kullanarak, taranmış belgeler, ekran görüntüleri ve görüntü kenarları için ideal, tutarlı bir kenar bazlı kırpma elde edebilirsiniz.

C# dilinde Tanımlı Bir Dörtgen Kullanarak Resimleri Kırpma

İkinci yöntem, dikdörtgen bir sınır kullanarak korumak istediğiniz kesin alanı tanımlamanıza olanak tanıyarak daha büyük bir hassasiyet sunar. Bu yaklaşım, görüntüdeki istenilen bölgenin koordinatlarını ve boyutunu bildiğinizde idealdir.

// Load the image.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Before cropping, the image should be cached for better performance.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Create an instance of Rectangle class with desired size and crop the image.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);
    rasterImage.Crop(rectangle);

    // Save cropped image.
    rasterImage.Save("cropped.png");
}

Bu yöntem, bir görüntünün belirli bir bölümünü izole etmeniz gerektiğinde özellikle faydalıdır; örneğin bir e-ticaret fotoğrafındaki ürün alanı, taranmış bir belgede bir metin bloğu veya bir diyagramdaki ilgi alanı gibi. Böyle bir dikdörtgen tanımlamak ve uygulamak hem sezgisel hem de son derece etkilidir.

Ücretsiz Değerlendirme Lisansı

You can get a free temporary license to evaluate many other features offered by the API to their full capacity.

Sonuç

C# dilinde resimleri kesmek karmaşık olmak zorunda değil. Sınırları kesmeniz ya da belirli bir bölgeyi çıkarmanız gerektiğinde, işi hızlı ve doğru bir şekilde tamamlayabilirsiniz. Hem kaydırma tabanlı hem de dikdörtgen tabanlı kesim desteği ile, belge görüntüleme ve içerik kişiselleştirmeden geniş bir yelpazede gerçek dünya kullanım durumlarını ele almak için esneklik sağlarsınız.

Bu yetenekleri .NET uygulamalarınıza entegre ederek, görüntü düzenleme görevlerini otomatikleştirebilir, kullanıcı deneyimini artırabilir ve büyük veri setleri arasında tutarlı biçimlendirme sağlayabilirsiniz.

See Also