ImageSharp
2B Grafikler için Açık Kaynak C# .NET Kitaplığı
.NET API kullanarak PNG, JPEG, GIF ve TIFF Görüntülerini Okuyun, Yazın, Değiştirin, Yeniden Boyutlandırın ve Dönüştürün.
ImageSharp, C# uygulamaları içindeki görüntü dosyalarının işlenmesi için basit ama çok güçlü bir platformlar arası açık kaynak kitaplığıdır. Görüntülerin işlenmesine izin vermek için tasarlanmış, tam olarak yönetilen ve platformlar arası bir 2D grafik API'sidir. ImageSharp, System.Drawing API'lerine bir alternatif sağlamak amacıyla piyasaya sürülen açık kaynaklı bir görüntü işleme kitaplığıdır.
Bu API kapsamlıdır ve görüntü işleme için gelişmiş algoritmaları destekler. API, daha gelişmiş görüntü işleme desteği sağlamak için yıldan yıla geliştirilmektedir. Tek bağımlılığı .NET'in kendisidir, bu da onu son derece taşınabilir hale getirir. API, görüntü yeniden boyutlandırma, görüntü kodlama ve kod çözme, yalnızca görüntü meta verilerinin kodunu çözme, görüntü klonlama, Görüntü üzerinde filigran çizme, Bir yol boyunca metin çizme ve daha pek çok gelişmiş özellik için destek içerir.
ImageSharp'a Başlarken
NuGet'te bir Kararlı sürüm mevcuttur Beta sürümleri için, Ön Yayını Dahil Et anahtarının etkinleştirildiğinden emin olun. Geliştirme sürümleri MyGet aracılığıyla edinilebilir.
NuGet aracılığıyla ImageSharp'ı yükleyin
Install-Package SixLabors.ImageSharp -Version number
Görüntüleri Yeniden Boyutlandırmak için C# API
ImageSharp kitaplığı, C# .NET programcılarının görüntüleri kendi .NET uygulamaları içinde yeniden boyutlandırmasına olanak tanır. Bir görüntünün yeniden boyutlandırılması, her piksel için hangi rengin uygulanacağını seçmek için bir hedef görüntünün pikselleri ve bir kaynak görüntünün örnekleme alanlarının oluşturulması ve yinelenmesi sürecini gerektirir. Bicubic, Hermite, Box, CatmullRom, Lanczos2 ve daha fazlası gibi görüntüleri işlerken algoritmayı kolayca ayarlayabilirsiniz. Temel yeniden boyutlandırma işlemlerinin yanı sıra, ImageSharp daha gelişmiş özellikler de sunar.
C# API
// Load File
using (Image image = Image.Load("fileformat.jpg"))
{
// Resize file
image.Mutate(x => x
.Resize(image.Width / 2, image.Height / 2)
.greyscale());
// Save
image.Save("fileformat_out.jpg");
}
Görüntüye Filigran Çiz
Genellikle insanlar, görüntüleri izinsiz kullanmalarını önlemek için büyük bir filigran yerleştirerek görüntülerini korurlar. ImageSharp kitaplığı, C++ uygulamaları içindeki görüntülere filigran ekleme desteği sağlar. Başlamak için bir yazı tipi ailesine ihtiyacınız var ve sistem yazı tipi mağazasından kolayca bir tane alabilirsiniz. Metni görüntünün üzerine çizin ve %50 opaklıkla grileştirin.
Bir yol boyunca metin çizin ve Resim Etkisi
ImageSharp kütüphane, C# .NET geliştiricilerine bir yolun kondüklerini takip etmek için izin verir. Bir font koleksiyonu oluşturmak önerilir. İlk olarak, yol boyunca çizilen bir dizi vektör olarak metin üretelim. Yol çizdikten sonra, metnin takip edilmesi gerektiğini görebiliriz. ImageSharp API ayrıca, yalnızca bir şekil içinde görüntülere çeşitli etkiler uygulama imkanı sağlar.
Fotoğraflara Etkisi Uygulama
namespace CustomImageProcessor
{
static class Program
{
static void Main(string[] args)
{
System.IO.Directory.CreateDirectory("output");
using (Image image = Image.Load("fb.jpg"))
{
var outerRadii = Math.Min(image.Width, image.Height) / 2;
var star = new Star(new PointF(image.Width / 2, image.Height / 2), 5, outerRadii / 2, outerRadii);
using (var clone = image.Clone(p =>
{
p.GaussianBlur(15); // apply the effect here you and inside the shape
}))
{
clone.Mutate(x => x.Crop((Rectangle)star.Bounds));
var brush = new ImageBrush(clone);
// cloned image with the effects applied
image.Mutate(c => c.Fill(brush, star));
}
image.Save("output/fb.png");
}
}
}
}