Sıklıkla gereksinimlerimizi karşılamayan boyutta resimler alıyoruz, bu nedenle bunları uygun şekilde yeniden boyutlandırmamız gerekiyor. Bu makalede, .NET uygulamalarınızdan C# dilinde görüntülerin nasıl yeniden boyutlandırılacağını öğreneceksiniz. Ayrıca C# kod örnekleri yardımıyla raster ve vektör görüntülerin nasıl yeniden boyutlandırılacağını göstereceğiz.
- C# Görüntü Yeniden Boyutlandırma API’sı
- Raster Görüntüleri Yeniden Boyutlandırma
- Görüntüyü Orantılı Olarak Yeniden Boyutlandır
- Vektör Görüntülerini Yeniden Boyutlandırma
Görüntüleri Yeniden Boyutlandırmak için C# API - Ücretsiz İndirme
Resimleri yeniden boyutlandırmak için. Aspose.Imaging for .NET kullanacağız. Çeşitli raster ve vektör görüntü türlerini işlemek için güçlü bir görüntü işleme API’sidir. API’nin DLL’sini indirebilir veya NuGet aracılığıyla yükleyebilirsiniz.
PM> Install-Package Aspose.Imaging
C#’ta Raster Görüntüleri Yeniden Boyutlandırma
Raster görüntüleri (PNG, GIF, JPEG, vb.) yeniden boyutlandırmanın iki yöntemi vardır: basit yeniden boyutlandırma ve yeniden boyutlandırma türünü kullanarak yeniden boyutlandırma. Basit yeniden boyutlandırmada, görüntüler yükseklik ve genişlik sağlanarak yeniden boyutlandırılır. Oysa ikinci yöntem farklı yeniden boyutlandırma teknikleri kullanır. Aşağıdaki bölümlerde, yukarıda belirtilen yöntemlerin her biri kullanılarak bir görüntünün nasıl yeniden boyutlandırılacağı gösterilmektedir.
C# Basit Görüntü Yeniden Boyutlandırma
C# dilinde bir görüntüyü yeniden boyutlandırmak için gereken adımlar aşağıdadır.
- İlk olarak, Image sınıfını kullanarak görüntü dosyasını yükleyin.
- Ardından, Image.Resize(Int32, Int32) yöntemini çağırarak resmi yeniden boyutlandırın.
- Son olarak, yeniden boyutlandırılmış görüntüyü Image.Save(string) yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, .NET uygulamalarında bir görüntünün nasıl yeniden boyutlandırılacağını gösterir.
// Resmi yükle
using (Image image = Image.Load("aspose-logo.jpg"))
{
// Resmi yeniden boyutlandırın ve yeniden boyutlandırılmış resmi kaydedin
image.Resize(300, 300);
image.Save("SimpleResizing_out.jpg");
}
C# Resmi Yeniden Boyutlandırma Türüyle Yeniden Boyutlandırma
ResizeType listesi, gereksinimlerinize göre kullanabileceğiniz yeniden boyutlandırma tekniklerini belirtmek için kullanılır. Desteklenen yeniden boyutlandırma türlerinin tam listesi burada mevcuttur. Aşağıda, belirli bir yeniden boyutlandırma tekniğini kullanarak bir görüntüyü yeniden boyutlandırma adımları yer almaktadır.
- İlk olarak, Image sınıfını kullanarak görüntüyü yükleyin.
- Ardından, Image.Resize(Int32, Int32, ResizeType) yöntemini çağırarak resmi yeniden boyutlandırın.
- Son olarak, yeniden boyutlandırılmış görüntüyü Image.Save(string) yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, belirli bir yeniden boyutlandırma tekniği kullanarak görüntüyü yeniden boyutlandırır.
// Resmi yükle
using (Image image = Image.Load("aspose-logo.jpg"))
{
// Resmi yeniden boyutlandırın ve yeniden boyutlandırılmış resmi kaydedin
image.Resize(300, 300, ResizeType.LanczosResample);
image.Save("SimpleResizing_out.jpg");
}
C#’ta Orantılı Görüntü Yeniden Boyutlandırma
Yükseklik ve genişlik belirtilerek görüntülerin yeniden boyutlandırılması görüntünün küçülmesine veya ölçeklenmesine neden olabilir. Bu nedenle, en boy oranını manuel olarak hesaplamanız gerekir. Ancak en-boy oranındaki herhangi bir yanlış hesaplama, görüntünün uzatılmasına neden olabilir. Bu tür sorunlardan kaçınmak için orantılı yeniden boyutlandırmayı kullanabilirsiniz. Bunu başarmak için adımlar aşağıdadır.
- İlk olarak, Image sınıfını kullanarak görüntü dosyasını yükleyin.
- Ardından, Image.CacheData() yöntemini kullanarak görüntü verilerini önbelleğe alın.
- Görüntünün yeni yüksekliğini ve genişliğini belirtin.
- Image.ResizeWidthProportionally(Int32) ve Image.ResizeHeightProportionally(Int32) yöntemini kullanarak orantı değerlerini hesaplayın.
- Son olarak, yeniden boyutlandırılmış görüntüyü Image.Save(string) yöntemini kullanarak kaydedin.
Görüntüleri orantılı olarak yeniden boyutlandırırken herhangi bir yeniden boyutlandırma türünü kullanmak istemeniz durumunda, Image.ResizeWidthProportionally(Int32, ResizeType) ve Image.ResizeHeightProportionally(Int32, ResizeType) aşırı yükleme yöntemlerini kullanın.
Aşağıdaki kod örneği, C# kullanarak bir görüntünün orantılı olarak nasıl yeniden boyutlandırılacağını gösterir.
// Resmi yükle
using (Image image = Image.Load("aspose-logo.png"))
{
// Resim verilerini önbelleğe al
if (!image.IsCached)
{
image.CacheData();
}
// Genişliği ve yüksekliği belirtin
int newWidth = image.Width / 2;
image.ResizeWidthProportionally(newWidth);
int newHeight = image.Height / 2;
image.ResizeHeightProportionally(newHeight);
// Resmi Kaydet
image.Save("ResizeImageProportionally_out.png");
}
C#’ta Vektör Görüntülerini Yeniden Boyutlandırma
Aspose.Imaging for .NET ayrıca vektör görsellerini yeniden boyutlandırmanıza ve bunları raster görsel formatında kaydetmenize olanak tanır. Aşağıdaki kod örneği, bir SVG görüntüsünün nasıl yeniden boyutlandırılacağını ve çıktının PNG biçiminde nasıl kaydedileceğini gösterir.
// Resmi yükle
using (Image image = Image.Load("image.svg"))
{
// Resmi PNG olarak yeniden boyutlandır
image.Resize(image.Width * 10,image.Height * 15);
image.Save("Logotype_10_15.png", new PngOptions()
{
VectorRasterizationOptions = new SvgRasterizationOptions()
});
}
C# Görüntü Yeniden Boyutlandırma API’sı - Ücretsiz Lisans Alın
Görüntüleri değerlendirme sınırlamaları olmadan yeniden boyutlandırmak için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu makalede, görüntüleri C# kullanarak programlı olarak yeniden boyutlandırmayı öğrendiniz. Ayrıca, kod örnekleri, görüntülerin basit bir şekilde yeniden boyutlandırılmasının veya belirli bir tür kullanılarak yeniden boyutlandırılmasının nasıl gerçekleştirileceğini göstermiştir. Görüntüleri yeniden boyutlandırırken en boy oranının manuel olarak hesaplanmasından nasıl kaçınılacağını da ele aldık. Ek olarak, vektör görüntülerin yeniden boyutlandırılması da sonunda tartışılmaktadır. Ayrıca, dokümantasyon kullanarak .NET görüntü işleme API’si hakkında daha fazlasını keşfedebilirsiniz. Ayrıca, kaynak kod örnekleri paketinin tamamını GitHub‘dan indirebilirsiniz. Herhangi bir sorunuz olması durumunda, forumumuzdan bizimle iletişime geçebilirsiniz.