คอนทราสต์), ความสว่าง และ แกมมา เป็นคุณลักษณะยอดนิยมที่ใช้ในการปรับแต่งภาพ ค่าต่างๆ ของแอตทริบิวต์เหล่านี้ถูกตั้งค่าเพื่อควบคุมและปรับปรุงรูปลักษณ์ของรูปภาพ ในบทความนี้ เราจะแสดงวิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพโดยใช้โปรแกรมใน C# คุณสามารถใช้สิ่งนี้เพื่อใช้ความสามารถในการแก้ไขรูปภาพจากภายในแอปพลิเคชัน .NET ของคุณ
- C# Image Editing API
- ปรับความคมชัดของรูปภาพใน C#
- ปรับความสว่างของรูปภาพใน C#
- แก้ไข Gamma ของรูปภาพใน C#
C# API เพื่อปรับคอนทราสต์ ความสว่าง และแกมมาของภาพ
Aspose.Imaging for .NET คือ API การประมวลผลภาพที่มีประสิทธิภาพและเต็มไปด้วยฟีเจอร์สำหรับแพลตฟอร์ม .NET/.NET Standard รองรับการจัดการรูปแบบภาพที่หลากหลายโดยไม่ต้องเขียนโค้ดที่ซับซ้อน เราจะใช้ API นี้เพื่อปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน C# คุณสามารถ ดาวน์โหลด API หรือติดตั้งลงในแอปพลิเคชัน .NET ของคุณโดยใช้ NuGet
PM> Install-Package Aspose.Imaging
ปรับความคมชัดของรูปภาพใน C#
ความคมชัดหมายถึงความแตกต่างของความเข้มของพิกเซล ค่าของมันถูกปรับเพื่อทำให้วัตถุในภาพมองเห็นและแยกแยะได้มากขึ้น ด้วยความเปรียบต่างสูง วัตถุทุกชิ้นในภาพจะดูชัดเจนมากเหมือนกับภาพที่ถ่ายกลางแสงแดด ในขณะที่มีคอนทราสต์ต่ำ คุณแทบจะไม่สามารถแยกความแตกต่างของวัตถุได้เหมือนกับในสภาพอากาศที่มีหมอก
มาดูวิธีปรับคอนทราสต์ของรูปภาพใน C# โดยใช้ Aspose.Imaging for .NET
- ขั้นแรก โหลดภาพโดยใช้คลาส Image
- จากนั้นส่งวัตถุไปที่ประเภท RasterImage
- ภาพแคชหากไม่ได้ใช้เมธอด RasterImage.CacheData()
- ปรับคอนทราสต์ในช่วง [-100, 100] โดยใช้วิธี RasterImage.AdjustContrast(float)
- สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด RasterImage.Save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับคอนทราสต์ของรูปภาพใน C#
// โหลดรูปภาพในอินสแตนซ์ของรูปภาพ
using (Image image = Image.Load("image.png"))
{
// แคสต์เป็นภาพแรสเตอร์
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage เพื่อประสิทธิภาพที่ดีขึ้น
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// ปรับความคมชัด
rasterImage.AdjustContrast(30);
// บันทึกภาพ
image.Save("image-updated-contrast.png");
}
ต่อไปนี้เป็นการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากเพิ่มค่าคอนทราสต์
ปรับความสว่างของรูปภาพใน C#
แอตทริบิวต์ความสว่างมักจะควบคุมการมองเห็นของวัตถุในภาพ ค่าของมันถูกปรับเพื่อเพิ่มหรือลดความมืด ต่อไปนี้เป็นขั้นตอนในการปรับเปลี่ยนความสว่างของรูปภาพใน C#
- ขั้นแรก โหลดรูปภาพโดยใช้คลาส Image
- ส่งวัตถุไปที่ประเภท RasterImage
- ภาพแคชหากไม่ได้ใช้เมธอด RasterImage.CacheData()
- ปรับความสว่างของภาพโดยใช้วิธี RasterImage.AdjustBrightness(float)
- สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด RasterImage.Save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีปรับความสว่างของรูปภาพใน C#
// โหลดรูปภาพในอินสแตนซ์ของรูปภาพ
using (Image image = Image.Load("image.png"))
{
// แคสต์เป็นภาพแรสเตอร์
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage เพื่อประสิทธิภาพที่ดีขึ้น
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// ปรับความสว่าง
rasterImage.AdjustBrightness(70);
// บันทึกภาพ
image.Save("image-updated-bightness.png");
}
ต่อไปนี้คือการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากปรับความสว่างแล้ว
แก้ไข Gamma ของรูปภาพใน C#
แอตทริบิวต์แกมมาใช้เพื่อแก้ไขอัตราส่วนของสีแดง เขียว และน้ำเงินในรูปภาพ นอกจากนี้ยังปรับเปลี่ยนความสว่างของภาพ ต่อไปนี้เป็นขั้นตอนในการเปลี่ยนค่าแกมมาของรูปภาพใน C#
- ขั้นแรก โหลดรูปภาพโดยใช้คลาส Image
- ส่งวัตถุไปที่ประเภท RasterImage
- ภาพแคชหากไม่ได้ใช้เมธอด RasterImage.CacheData()
- เปลี่ยนแกมม่าของภาพโดยใช้เมธอด RasterImage.AdjustGamma(float, float, float)
- สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด RasterImage.Save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับแกมมาของรูปภาพใน C#
// โหลดรูปภาพในอินสแตนซ์ของรูปภาพ
using (Image image = Image.Load("image.png"))
{
// แคสต์เป็นภาพแรสเตอร์
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage เพื่อประสิทธิภาพที่ดีขึ้น
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// ปรับแกมมา
rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);
// บันทึกภาพ
image.Save("image-updated-gamma.png");
}
ต่อไปนี้เป็นการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากปรับค่าแกมม่าแล้ว
รับใบอนุญาต API ฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ Aspose.Imaging for .NET โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน C# นอกจากนี้ ตัวอย่างโค้ดยังแสดงให้เห็นว่าภาพมีลักษณะอย่างไรหลังจากปรับเปลี่ยนคอนทราสต์ ความสว่าง และแกมมา ในกรณีที่คุณต้องการสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ .NET โปรดไปที่ เอกสารประกอบ นอกจากนี้ ดาวน์โหลดตัวอย่างซอร์สโค้ดทั้งหมดของ API จาก GitHub หากคุณมีคำถามหรือข้อสงสัย ติดต่อเราได้ที่ ฟอรัม