Comprimi BMPs tramite C#
Crea le tue app .NET per comprimere i file BMP utilizzando le API lato server.
Come comprimere file BMP utilizzando C#
La preparazione delle immagini per la pubblicazione coinvolge aspetti sia creativi che tecnici, inclusa la compressione dei file. Sebbene le immagini ad alta risoluzione siano fondamentali per la stampa o la pubblicità esterna, potrebbero ridurre le prestazioni web a causa delle grandi dimensioni dei file. La tecnica di compressione delle immagini appropriata varia a seconda dello scopo e della piattaforma di pubblicazione. I file di grandi dimensioni possono rallentare i tempi di caricamento, in particolare sulle connessioni mobili, portando a un’esperienza utente insoddisfacente. Gli utenti potrebbero abbandonare un sito che impiega troppo tempo per caricarsi e cercare un’alternativa più veloce. Al contrario, un’eccessiva compressione delle immagini può provocare sfocature e pixelazioni, peggiorando l’esperienza visiva. La scelta giusta degli algoritmi e dei rapporti di compressione è essenziale per trovare un equilibrio tra dimensione del file e qualità dell’immagine. Per comprimere i file BMP, utilizzeremo Aspose.Imaging per .NET API che è un’API di conversione e manipolazione delle immagini ricca di funzionalità, potente e facile da usare per la piattaforma C#. Aprire NuGet gestore pacchetti, cerca Aspose.Imaging e installa. È inoltre possibile utilizzare il seguente comando dalla Console di gestione pacchetti.
Comando della console di Package Manager
PM> Install-Package Aspose.Imaging
Passaggi per comprimere BMP tramite C#
Hai bisogno del aspose.imaging.dll per provare il seguente flusso di lavoro nel tuo ambiente.
- Carica file BMP con il metodo Image.Load
- Comprimi immagini;
- Salva l’immagine compressa su disco nel formato supportato da Aspose.Imaging
Requisiti di sistema
Aspose.Imaging per .NET è supportato su tutti i principali sistemi operativi. Assicurati solo di avere i seguenti prerequisiti.
- Microsoft Windows o un sistema operativo compatibile con .NET Framework, .NET Core, applicazione Windows, applicazione Web ASP.NET.
- Ambiente di sviluppo come Microsoft Visual Studio.
- Aspose.Imaging per .NET referenziato nel progetto.
Comprimi immagini BMP - .NET
using Aspose.Imaging.FileFormats.Bmp; | |
using Aspose.Imaging.FileFormats.Dicom; | |
using Aspose.Imaging.FileFormats.Emf; | |
using Aspose.Imaging.FileFormats.Jpeg; | |
using Aspose.Imaging.FileFormats.Jpeg2000; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Psd; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Masking; | |
using Aspose.Imaging.Masking.Options; | |
using Aspose.Imaging.Masking.Result; | |
using Aspose.Imaging.Sources; | |
using Aspose.Imaging; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
string templatesFolder = @"c:\Users\USER\Downloads"; | |
CompressBmp(); | |
void CompressBmp() | |
{ | |
//List of available bmp compressions | |
List<Tuple<BitmapCompression, int>> compressions = new List<Tuple<BitmapCompression, int>>() | |
{ | |
new Tuple<BitmapCompression, int>(BitmapCompression.Rgb, 1), | |
new Tuple<BitmapCompression, int>(BitmapCompression.Rgb, 4), | |
new Tuple<BitmapCompression, int>(BitmapCompression.Rgb, 8), | |
new Tuple<BitmapCompression, int>(BitmapCompression.Rle8, 8), | |
new Tuple<BitmapCompression, int>(BitmapCompression.Rle4, 4) | |
}; | |
var inputFile = Path.Combine(templatesFolder, $"template.bmp"); | |
foreach (var compression in compressions) | |
{ | |
int bits = compression.Item2; | |
BitmapCompression compressionType = compression.Item1; | |
var outputFile = Path.Combine(templatesFolder, $"compressed_{compressionType}_{bits}bits.bmp"); | |
using (var image = Image.Load(inputFile)) | |
{ | |
image.Save(outputFile, new BmpOptions | |
{ | |
Compression = compressionType, | |
BitsPerPixel = bits, | |
Palette = ColorPaletteHelper.GetCloseImagePalette((RasterImage)image, 1 << bits) | |
}); | |
File.Delete(outputFile); | |
} | |
} | |
} |
Informazioni su Aspose.Imaging per l'API .NET
Aspose.Imaging API è una soluzione di elaborazione delle immagini per creare, modificare, disegnare o convertire immagini (foto) all’interno delle applicazioni. Offre: elaborazione delle immagini multipiattaforma, incluse, a titolo esemplificativo ma non esaustivo, conversioni tra vari formati di immagine (inclusa elaborazione uniforme di immagini multipagina o multiframe), modifiche come disegnare, lavorare con primitive grafiche, trasformazioni (ridimensiona, ritaglia, capovolgi e ruota , binarizzazione, scala di grigi, regolazione), funzionalità avanzate di manipolazione delle immagini (filtro, dithering, mascheratura, raddrizzatura) e strategie di ottimizzazione della memoria. È una libreria autonoma e non dipende da alcun software per le operazioni sulle immagini. È possibile aggiungere facilmente funzionalità di conversione delle immagini ad alte prestazioni con API native all’interno dei progetti. Si tratta di API locali private al 100% e le immagini vengono elaborate sui tuoi server.Comprimi BMPs tramite l’app online
Comprimi i documenti BMP visitando il nostro sito web di demo live . La demo dal vivo ha i seguenti vantaggi
BMP Cos'è BMP Formato del file
I file con estensione .BMP rappresentano file di immagine bitmap che vengono utilizzati per memorizzare immagini digitali bitmap. Queste immagini sono indipendenti dalla scheda grafica e sono anche chiamate formato file DIB (Device Independent Bitmap). Questa indipendenza serve allo scopo di aprire il file su più piattaforme come Microsoft Windows e Mac. Il formato file BMP può memorizzare dati come immagini digitali bidimensionali sia in formato monocromatico che a colori con varie profondità di colore.
Per saperne di piùAltri formati di compressione supportati
Usando C#, si possono facilmente comprimere diversi formati tra cui.