แหล่งที่มาเปิด C # .NET ห้องสมุดสําหรับการจัดการภาพ
อ่าน, เขียน, แก้ไข, ปรับขนาดและแปลง NG, JPEG, GIF และ TIFF รูปภาพ on-the-Fly ผ่านฟรี .NET API.
ImageProcessor เป็นไลบรารีการประมวลผลภาพฟรีแบบโอเพ่นซอร์สที่ช่วยให้โปรแกรมเมอร์คอมพิวเตอร์สามารถจัดการภาพได้เอง ไลบรารีเป็นไปอย่างรวดเร็วมีเสถียรภาพกว้างขวางใช้งานง่ายและมีคุณสมบัติที่ยอดเยี่ยม ห้องสมุดให้การสนับสนุนอย่างเต็มที่สําหรับการทํางานกับ JPG, JPEG, NG, GIF, NG8 (ทั้งภาพเคลื่อนไหวและแบบคงที่), BMP และรูปแบบไฟล์ TIFF
ห้องสมุดส่วนใหญ่แบ่งออกเป็นสองห้องสมุดย่อย ห้องสมุดแห่งแรกเป็นที่รู้จักในนาม ImageProcessor และให้การสนับสนุนอย่างเต็มที่สําหรับการทํางานกับเดสก์ท็อปและการใช้งาน ห้องสมุดที่ 2 ImageProcessor.Web ถูกสร้างขึ้นสําหรับ SP.NET และให้การสนับสนุนอย่างเต็มที่สําหรับการทํางานกับการใช้งานเว็บ เราส่วนใหญ่จะพูดถึงส่วนแรกและวิธีการที่นักพัฒนาสามารถใช้งานได้ภายในแอพพลิเคชั่นของพวกเขา
เริ่มต้นด้วย ImageProcessor
รุ่นเสถียรพร้อมใช้งานบน NuGet ImageProcessor ได้รับการสนับสนุนบน .NET Framework ที่ทำงานบนระบบปฏิบัติการ Windows เท่านั้น โปรดอย่าพยายามใช้กับ .NET Core หรือ NET 5+
ติดตั้ง ImageProcessor ผ่าน NuGet
NuGet\Install-Package ImageProcessor -Version number
ใช้ตัวกรองภาพผ่านห้องสมุด C #
ห้องสมุด ImageProcessor แหล่งเปิดช่วยให้ผู้พัฒนา C # .NET สามารถกรองภาพได้อย่างง่ายดายภายในแอปพลิเคชันของตัวเอง โปรดใช้คลาส MatrixFilters เพื่อกําหนดตัวกรองที่ถูกต้องให้กับภาพของคุณ มีตัวกรองหลายประเภทที่คุณสามารถนําไปใช้กับภาพของคุณเช่น BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Monograph, LoSatch, Polaroid และ Seria
เพิ่มลายน้ําตามข้อความในภาพ
คุณสามารถวางภาพหรือลายน้ําข้อความได้ทุกที่บนภาพของคุณโดยใช้ห้องสมุดโอเพนซอร์ส ImageProcessor ห้องสมุดให้การสนับสนุนเต็มรูปแบบสําหรับการเพิ่มลายน้ําให้กับภาพที่มีเพียงไม่กี่บรรทัดของรหัส ชั้นที่ต้องการมีคุณสมบัติทั้งหมดที่จําเป็นในการเพิ่มลายน้ําตามข้อความลงในภาพ สนับสนุนสีข้อความให้เลือก ตัวอักษรขนาดตัวอักษรสไตล์ความทึบตําแหน่งวางเงาและอื่น ๆ
ตัดภาพโดยใช้ .NET
ImageProcessor ให้ผู้พัฒนาซอฟต์แวร์ความสามารถในการตัดภาพปัจจุบันไปยังตําแหน่งและขนาดที่กําหนดเอง การลดลงเป็นกระบวนการที่สําคัญที่สุดและง่ายที่จะพิจารณาเมื่อแก้ไขภาพและภาพถ่ายของคุณ มันมีคุณสมบัติหลายอย่างที่ช่วยให้ผู้ใช้ในการตัดภาพตามความต้องการของพวกเขา เช่นซ้าย, ด้านบน, ขวา, ด้านล่างและ CropMode.
ตัดภาพโดยใช้ C # .NET
namespace ImageProcessor.Tests.Processing
{
public class CropTests
{
private const string category = "Crop";
[Fact]
public void CropSettingsConstructorSetsOptions()
{
const int Left = 1;
const int Top = 1;
const int Right = 1;
const int Bottom = 1;
var expected = new CropOptions(Left, Top, Right, Bottom, CropMode.Percentage);
Assert.Equal(expected.Left, Left);
Assert.Equal(expected.Top, Top);
Assert.Equal(expected.Right, Right);
Assert.Equal(expected.Bottom, Bottom);
}
[Fact]
public void CropSettingsConstructorChecksInput()
{
Assert.Throws(() => new CropOptions(-1, 0, 0, 0));
Assert.Throws(() => new CropOptions(0, -1, 0, 0));
Assert.Throws(() => new CropOptions(0, 0, -1, 0));
Assert.Throws(() => new CropOptions(0, 0, 0, -1));
}
[Fact]
public void CropConstructorSetsOptions()
{
var expected = new CropOptions(1, 2, 3, 4, CropMode.Percentage);
var processor = new Crop(expected);
Assert.Equal(expected, processor.Options);
}
[Fact]
public void FactoryCanCropRectangle()
{
// Test our issue crop.
TestFile file = TestFiles.Jpeg.EXIFCropIssue559;
var bounds = new Rectangle(939, 439, 2778, 2778);
using (var factory = new ImageFactory())
{
factory.Load(file.FullName)
.Crop(bounds)
.SaveAndCompare(file, category, bounds);
}
}
[Fact]
public void FactoryCanCropPercentile()
{
// Test our issue crop.
TestFile file = TestFiles.Jpeg.Penguins;
var settings = new CropOptions(15, 25, 10, 5, CropMode.Percentage);
using (var factory = new ImageFactory())
{
factory.Load(file.FullName)
.Crop(settings)
.SaveAndCompare(file, category, settings);
}
}
}
}