2013-01-28 14 views
5

Tworzę aplikację działającą pod .BMP i ustalonym rozmiarze. Zrobiłem moduł do zmiany rozmiaru, ale nie udało się przekonwertować PNG, JPEG i innych formatów obrazu na .bmp.Konwersja typu obrazu na bitmapę

Czy istnieje prosta metoda, z powodu wielu schematów kompresji bardzo trudno jest napisać osobny moduł dla każdego.

+0

Nie mogę uwierzyć, nie ma pytań na SO już adresowania konwersji obrazu w C# ... –

+0

mógłbyś pokaż nam jakiś kod? –

+0

Czy używasz do tego klasy 'Bitmap'? –

Odpowiedz

7

użycie this

public BitmapImage ImageFromBuffer(Byte[] bytes) 
{ 
    MemoryStream stream = new MemoryStream(bytes); 
    BitmapImage image = new BitmapImage(); 
    image.BeginInit(); 
    image.StreamSource = stream; 
    image.EndInit(); 
    return image; 
} 

ani używać tego

Image Dummy = Image.FromFile("image.png"); 
Dummy.Save("image.bmp", ImageFormat.Bmp); 
1

Dobrze, proszę spojrzeć na to pytanie:

Convert to BMP

i

MSDN ImageFormat Members

using(Image img = Image.FromFile("image.png")) 
{ 
    img.Save("image.bmp", ImageFormat.Bmp); 
    // ... 
} 
+0

Co z jpeg, tiff, gif i innymi ................ –

1

każdy obraz, który został już loaded into memory jest niezależny od formatu źródłowego. Po manipulacji można napisać go z powrotem na dysk za pomocą any format that is available po prostu wywołanie metody Save() z żądanym formacie

var bmp1 = Image.FromFile("myJpegFile.jpg"); 
bmp1.Save("c:\\button.bmp", System.Drawing.Imaging.ImageFormat.Bmp);