Đây là một giải pháp chuyên nghiệp để nén JPG bằng C#, F#, VB.NET. Sử dụng JPG API tối ưu hóa của chúng tôi để phát triển phần mềm cấp cao, độc lập với nền tảng cho các nền tảng .NET và .NET Core. Hãy thử nó trực tuyến miễn phí!
Làm cho các JPG tệp lớn nhỏ hơn mà không làm giảm chất lượng. Xóa dữ liệu không cần thiết và không sử dụng. Thu nhỏ kích thước của JPG tệp trong mã. Thư viện C# cung cấp cho các nhà phát triển một API tích hợp để tối ưu hóa nội dung JPG.
Thư viện C# là một giải pháp độc lập và không yêu cầu cài đặt bất kỳ phần mềm bên thứ ba nào.
Tính năng nén không mất dữ liệu và tối ưu hóa nội dung sâu được thực hiện dễ dàng với 'Aspose.Words for .NET'. Ví dụ sau minh họa cách tối ưu hóa nội dung của JPG tệp trong C#:
dotnet add package Aspose.Words
Sao chép
using Aspose.Words;
var doc = new Document();
var builder = new DocumentBuilder(doc);
var shape = builder.InsertImage("Input.jpg");
var saveOptions = new ImageSaveOptions(SaveFormat.Jpeg)
{
JpegQuality = 50
};
shape.GetShapeRenderer().Save("Output.jpg", saveOptions);
using Aspose.Words;
var doc = new Document("Input.jpg");
doc.Cleanup();
var nodes = doc.GetChildNodes(NodeType.Shape, true);
foreach (Shape shape in nodes)
{
if (shape.IsImage)
{
// Tùy nhà phát triển chọn thư viện để nén ảnh.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Nén hình ảnh và đặt nó trở lại hình dạng.
shape.ImageData.SetImage("yourCompressedImage");
}
}
var saveOptions = new PdfSaveOptions
{
CacheBackgroundGraphics = true
};
doc.Save("Output.jpg", saveOptions);
using Aspose.Words;
var doc = new Document("Input.jpg");
doc.Cleanup();
var nodes = doc.GetChildNodes(NodeType.Shape, true);
foreach (Shape shape in nodes)
{
if (shape.IsImage)
{
// Tùy nhà phát triển chọn thư viện để nén ảnh.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Nén hình ảnh và đặt nó trở lại hình dạng.
shape.ImageData.SetImage("yourCompressedImage");
}
}
doc.Save("Output.jpg");
using Aspose.Words;
var doc = new Document("Input.jpg");
doc.Cleanup();
var nodes = doc.GetChildNodes(NodeType.Shape, true);
foreach (Shape shape in nodes)
{
if (shape.IsImage)
{
// Tùy nhà phát triển chọn thư viện để nén ảnh.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Nén hình ảnh và đặt nó trở lại hình dạng.
shape.ImageData.SetImage("yourCompressedImage");
}
}
var saveOptions = new OoxmlSaveOptions
{
CompressionLevel = CompressionLevel.Maximum
};
doc.Save("Output.jpg", saveOptions);
using Aspose.Words;
var doc = new Document();
var builder = new DocumentBuilder(doc);
var shape = builder.InsertImage("Input.jpg");
var saveOptions = new ImageSaveOptions(SaveFormat.Jpeg)
{
JpegQuality = 50
};
shape.GetShapeRenderer().Save("Output.jpg", saveOptions);
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;
using var pdfStream = File.OpenRead("Input.jpg");
var renderer = new PdfFixedRenderer();
var pdfReadOptions = new PdfFixedOptions
{
ImageFormat = FixedImageFormat.Jpeg,
JpegQuality = 50
};
const double maxPageDimension = 1584;
var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions);
var builder = new DocumentBuilder();
for (var i = 0; i < pagesStream.Count; ++i)
{
// Đặt kích thước trang tối đa để tránh chia tỷ lệ hình ảnh trang hiện tại.
var pageSetup = builder.PageSetup;
SetPageSize(pageSetup, maxPageDimension, maxPageDimension);
var pageImage = builder.InsertImage(pagesStream[i]);
SetPageSize(pageSetup, pageImage.Width, pageImage.Height);
pageSetup.TopMargin = 0;
pageSetup.LeftMargin = 0;
pageSetup.BottomMargin = 0;
pageSetup.RightMargin = 0;
if (i != pagesStream.Count - 1)
builder.InsertBreak(BreakType.SectionBreakNewPage);
}
var saveOptions = new PdfSaveOptions
{
CacheBackgroundGraphics = true
};
builder.Document.Save("Output.jpg", saveOptions);
private void SetPageSize(PageSetup pageSetup, double width, double height)
{
pageSetup.PageWidth = width;
pageSetup.PageHeight = height;
}
Có ba tùy chọn thay thế để cài đặt "Aspose.Words for .NET" vào hệ thống của bạn. Vui lòng chọn một cái giống với nhu cầu của bạn và làm theo hướng dẫn từng bước:
Sản phẩm của chúng tôi hoàn toàn đa nền tảng và hỗ trợ tất cả các triển khai .NET chính:
Vì mã .NET không phụ thuộc vào phần cứng hoặc hệ điều hành cơ bản mà chỉ phụ thuộc vào Máy ảo, bạn có thể tự do phát triển bất kỳ loại phần mềm nào cho Windows, macOS, Android, iOS và Linux. Chỉ cần đảm bảo rằng bạn đã cài đặt phiên bản tương ứng của .NET Framework, .NET Core, Windows Azure, Mono hoặc Xamarin.
Chúng tôi khuyên bạn nên sử dụng các môi trường phát triển tích hợp Microsoft Visual Studio, Xamarin và MonoDevelop để tạo các ứng dụng C#, F#, VB.NET.
Để biết thêm chi tiết, vui lòng tham khảo Tài liệu sản phẩm.