Dopo aver passato molto tempo a fare ricerche su questo argomento su Google, non ho potuto trovare un esempio di conversione di un'immagine Wbmp in formato Png in C# Ho scaricato alcune immagini Wbmp da Internet e le sto visualizzando utilizzando un Editor binario.Come convertire Wbmp in Png?
Qualcuno ha un algoritmo che mi aiuterà in questo o qualsiasi codice aiuterà anche.
Le cose che so finora:
- primo byte è di tipo * (0 per le immagini in bianco e nero)
- Secondo byte è chiamato un “-header fisso” ed è 0
- terzo byte è la larghezza dell'immagine in pixel *
- Quarto byte è l'altezza dell'immagine in pixel *
- Dati byte disposti in righe: un bit per pixel: Quando la lunghezza di riga non è divisibile per 8, la riga è 0-imbottito per il limite di byte
sono pienamente perso quindi ogni aiuto sarà apprezzato
Alcuni degli altri codici :
using System.Drawing;
using System.IO;
class GetPixel
{
public static void Main(string[] args)
{
foreach (string s in args)
{
if (File.Exists(s))
{
var image = new Bitmap(s);
Color p = image.GetPixel(0, 0);
System.Console.WriteLine("R: {0} G: {1} B: {2}", p.R, p.G, p.B);
}
}
}
}
E
class ConfigChecker
{
public static void Main()
{
string drink = "Nothing";
try
{
System.Configuration.AppSettingsReader configurationAppSettings
= new System.Configuration.AppSettingsReader();
drink = ((string)(configurationAppSettings.GetValue("Drink", typeof(string))));
}
catch (System.Exception)
{
}
System.Console.WriteLine("Drink: " + drink);
} // Main
} // class ConfigChecker
processo:
fatto ricerche su Wbmp
Aprite X.wbmp per controllare i dettagli primi
capire come trovare la larghezza e l'altezza del file WBMP (in modo che sia può in seguito scrivere il codice). Si noti che il modo più semplice per convertire una raccolta di byte di lunghezza (una volta che l'MSB è stato eliminato) consiste nel trattare l'entità come base-128.
Guarda il codice di esempio che ho aggiornato.
Sto cercando di creare un oggetto bitmap vuota e impostarne la larghezza e l'altezza a quello che abbiamo lavorato in (3)
Per ogni bit di dati, cercherà di fare un SetPixel sull'oggetto Bitmap creato.
0s riempite quando la larghezza WBMP non è un multiplo di 8.
Salva bitmap utilizzando il metodo Save().
Esempio di utilizzo dell'applicazione. Si presume che l'applicazione si chiami Wbmp2Png. Nella riga di comando:
Wbmp2Png IMG_0001.wbmp IMG_0002.wbmp IMG_0003.wbmp
L'applicazione converte ciascuno di IMG_0001.wbmp, IMG_0002.wbmp e IMG_0003.wbmp in file PNG.
Ciao, il codice sta dando errori, pubblica la tua classe completa incluse le istruzioni "Using.System" ecc. Supponiamo che il file sia chiamato test.wbmp e che la sua posizione sia Desktop. –
@AmberArroway: aggiornato – Ria
dai un'occhiata alla domanda modificata –