Byte-Array als Bitmap

siscop

Grünschnabel
Hallo ich versuche gerade Bilder aus der Datenbank als Bitmap abzuspeichern jedoch kommt die Fehlermeldung
versuch6.cs(xx,xx); error CS1502: The best overloaded method match for ‘MainApp.Byte2Bitmap(byte[])’ has some invalid arguments
versuch6.cs(xx,xx): error CS1503: Argument ‘1’: cannot convert from ‘object’ to ‘byte[]’

Wenn man Bilder aus einer Datenbank(Access) ausliest erhält man doch Byte-Array oder? Somit weiss ich nicht wo hier das Problem liegen soll.
Jede Art von Hilfe wäre nett.

Er stört sich an dieser Zeile :
meinbild=Bitmap(Byte2Bitmap(dataread1["pictureLarge"]));


using System;
using System.Data;
using System.Data.OleDb;
using System.Data.Odbc;
using System.Drawing.Imaging;
using System.Drawing;
using System.IO;

...
public static Bitmap Byte2Bitmap(byte[] imageBytes)
{
MemoryStream imageStream = new MemoryStream(imageBytes);
Bitmap bitmap=new Bitmap(imageStream);
imageStream.Close();
return bitmap;
}
...
Bitmap meinbild;
meinbild=new Bitmap(Byte2Bitmap(dataread1["pictureLarge"]));
string fileName2 ="C:\\Dokumente und Einstellungen\\lancom\\Desktop\bilder\\"+dataread1["pictureId"]+".bmp";
meinbild.Save(fileName2,ImageFormat.Bmp);
 
Zuletzt bearbeitet:
Hi.

Wenn du die Daten aus der Datenbank holst mit dem Befehl
Code:
dataread1["pictureLarge"]
hast du die Daten im Datentyp object gekapselt. Du brauchst allerdings bei deinem Methodenaufruf den Datentyp byte[] (also das Byte-Array).

Code:
meinbild=Bitmap(Byte2Bitmap((byte[])dataread1["pictureLarge"]));

Deswegen, das object in ein Bytearray umwandeln.
Sollte dann funktionieren denk ich.

MfG,
Alex
 
Das was ich mir gedacht habe funktioniert nicht. Leider. :(
Wie liest Ihr denn Bilder aus einer Datenbank und speichert dies?
Ein Beispielprogramm wäre nett von euch.
 
Zum Thema Datenbanken mit ADO.NET gibt es ganz nette Artikel HIER .

Einfach mal durchgucken, dann gehts gleich viel einfacher.
 
Zurück