Ši tema apima kaip sujungti photos C#. Tai apima aplinkos konfigūraciją, žingsnis po žingsnio procesą ir paleidžiamą kodo fragmentą, skirtą sukurti nuotraukų stalius C#. Šią informaciją galite pritaikyti darbui su šia funkcija bet kurioje .NET palaikomoje aplinkoje įvairiose operacinėse sistemose.
Veiksmai, kaip sujungti nuotraukas C#
- Naudodami NuGet paketų tvarkyklės papildinį, nustatykite aplinką, kad ji veiktų su Aspose.Imaging for .NET
- Sukurkite vaizdų sąrašą ir gaukite vaizdo dydį
- Sujunkite vaizdus į naują ir sukurkite išvesties šaltinį
- Nustatykite skirtingas ypatybes naudodami JpegOptions klasės objektą
- Eksportuokite sujungtą vaizdą naudodami JpegImage klasę
Šie veiksmai apibendrina visą nuotraukų sujungimo C# procesą. Pirmiausia sukurkite kelių vaizdų, kuriuos norite sujungti į vieną nuotrauką, sąrašą. Todėl prieš išsaugodami diske arba sraute, atsižvelgdami į jūsų poreikius, sukurkite naują paveikslėlį ir pateikite jį į išvesties vaizdą.
Kodas, skirtas sujungti nuotraukas C#
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
using Aspose.Imaging; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Sources; | |
class Program | |
{ | |
static void Main(string[] args) // Merge images into one image in C# | |
{ | |
// Set PDF license | |
new Aspose.Imaging.License().SetLicense("License.lic"); | |
// Create a list of images | |
string[] imagePaths = { "picture1.jpg", "picture2.jpg", "picture3.jpg" }; | |
// Get resulting image's size | |
List<Aspose.Imaging.Size> imageSizes = new List<Aspose.Imaging.Size>(); | |
foreach (string imagePath in imagePaths) | |
{ | |
using (RasterImage image = (RasterImage)Aspose.Imaging.Image.Load(imagePath)) | |
{ | |
imageSizes.Add(image.Size); | |
} | |
} | |
int newWidth = imageSizes.Max(size => size.Width); | |
int newHeight = imageSizes.Sum(size => size.Height); | |
// Combine images into new one | |
using (MemoryStream memoryStream = new MemoryStream()) | |
{ | |
// Create output source | |
StreamSource outputStreamSource = new StreamSource(memoryStream); | |
// Create jpeg options | |
JpegOptions options = new JpegOptions() | |
{ Quality = 100, Source = outputStreamSource }; | |
// Create output image | |
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage newImage = | |
(Aspose.Imaging.FileFormats.Jpeg.JpegImage)Aspose.Imaging.Image.Create(options, newWidth, newHeight)) | |
{ | |
int stitchedHeight = 0; | |
// Merge images | |
foreach (string imagePath in imagePaths) | |
{ | |
using (RasterImage image = (RasterImage)Aspose.Imaging.Image.Load(imagePath)) | |
{ | |
Aspose.Imaging.Rectangle bounds = new Aspose.Imaging.Rectangle(0, stitchedHeight, image.Width, image.Height); | |
newImage.SaveArgb32Pixels(bounds, image.LoadArgb32Pixels(image.Bounds)); | |
stitchedHeight += image.Height; | |
} | |
} | |
// Save the merged image | |
newImage.Save("merged-image.jpg"); | |
} | |
} | |
System.Console.WriteLine("Done"); | |
} | |
} |
Šio kodo fragmento pakanka sukurti vaizdų jungiklį C#. Jis veikia su JpegImage klase, kad sukurtų išvesties vaizdą, skaičiuojant šaltinio paveikslėlių vaizdo matmenis. Tada sukuriamas stačiakampis ir išsaugomas sujungtas išvesties vaizdas naudojant Įrašymo metodą. Be to, pagal savo reikalavimus galite tinkinti keletą išvesties vaizdo savybių naudodami JpegOptions klasę, pvz., suspaudimo tipą, kokybę, spalvų tipą, skiriamosios gebos vienetą ir kt.
Šiame straipsnyje mes sužinojome, kaip atlikti vaizdo suliejimą C#. Jei norite pasukti vaizdą, perskaitykite straipsnį kaip pasukti vaizdą C#.