Oscail Foinse C # . Leabharlann NET le haghaidh Ionramháil Íomhánna
Léamh, Scríobh, Athraigh, Athraigh & Tiontaigh Íomhánna PNG, JPEG, GIF & TIFF ar an eitilt trí API NET saor in aisce.
Is leabharlann próiseála íomhá foinse oscailte saor in aisce é ImageProcessor a ligeann do ríomhchláraitheoirí ríomhairí íomhánna a láimhseáil ar an eitilt laistigh dá bhfeidhmchláir .NET féin. Tá an leabharlann an-tapa, cobhsaí, sínte, éasca le húsáid agus tá gnéithe iontacha ann. Soláthraíonn an leabharlann tacaíocht iomlán chun oibriú le formáidí comhaid JPG, JPEG, PNG, GIF, PNG8 (idir bheochan agus statach), BMP agus TIFF.
Tá an leabharlann roinnte ina dhá fho-leabharlann den chuid is mó. ImageProcessor a thugtar ar an gcéad leabharlann agus soláthraíonn sí lántacaíochtaí chun oibriú le deasc agus feidhmchláir. Tá an dara leabharlann ImageProcessor.Web tógtha le haghaidh ASP.NET agus cuireann sé tacaíocht iomlán ar fáil le bheith ag obair le feidhmchláir ghréasáin. Beidh muid ag plé go príomha faoin gcéad chuid agus conas is féidir le forbróirí é a úsáid laistigh dá n-iarratas.
Tús a chur le ImageProcessor
Tá scaoileadh cobhsaí ar fáil ar NuGet. Is é ImageProcessor, agus ní thacófar léi ach ar an gCreat .NET a ritheann ar Windows OS. Ná déan iarracht úsáid a bhaint as le .NET Core nó NET 5+.
Suiteáil ImageProcessor trí NuGet
NuGet\Install-Package ImageProcessor -Version number
Cuir Scagairí i bhFeidhm ar Íomhánna trí Leabharlann C#
Ligeann leabharlann foinse oscailte ImageProcessor don fhorbróir C# .NET íomhánna a scagadh gan stró laistigh dá bhfeidhmchláir féin. Bain úsáid as an rang MatrixFilters chun an scagaire ceart a shannadh do d'íomhánna. Tá cineálacha éagsúla scagairí ar fáil ar féidir leat a chur i bhfeidhm ar d’íomhánna, mar shampla BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid agus Sepia.
Cuir Uisce Téacs Bunaithe ar an Íomhá
Is féidir leat comhartha uisce íomhá nó téacs a chur go héasca áit ar bith ar do chuid íomhánna ag baint úsáide as an leabharlann foinse oscailte ImageProcessor. Soláthraíonn an leabharlann tacaíocht iomlán chun comhartha uisce a chur le híomhánna gan ach cúpla líne de chód. Tá na hairíonna go léir is gá chun an comhartha uisce téacsbhunaithe a chur leis an íomhá sa rang riachtanach. Tacaíonn sé le dath an téacs, roghnaigh Cló, Clómhéid, Stíl, teimhneacht, suíomh, scáthú agus níos mó.
Íomhánna Barraí ag baint úsáide as .NET
Tugann an ImageProcessor an cumas d’fhorbróirí bogearraí an íomhá reatha a bhearradh go dtí suíomh agus méid saincheaptha. Is é bearradh an próiseas is tábhachtaí fós le breithniú agus tú ag déanamh eagarthóireachta ar do chuid íomhánna agus grianghraif. Soláthraíonn sé roinnt maoine a chuidíonn le húsáideoirí íomhánna a bhearradh de réir a gcuid riachtanas. Den sórt sin mar chlé, barr, ar dheis, bun agus CropMode.
Íomhánna Barraí ag baint úsáide as 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);
}
}
}
}