Hallo,
habe einige Icons in der Datenbank als Blob gespeichert. Kann diese auch wunderbar wieder auslesen usw. Es gibt aber einige Icons, die einfach anders erzeugt bzw. größer oder kleiner als andere sind, kurzum einige byte[] können einfach nicht angezeigt werden, wobei, wenn ich mir diese byte[] als File.WriteAllBytes ausgeben lasse, dann wird das Bild (hier Icon) korrekt dargestellt. Arbeite mit MemoryStream um die byte[] als Image unterzubringen. Sollte ich da was anders verwenden, denn es sollte doch auch möglich sein Fotos usw. als Bild auszulesen und anzuzeigen. Hat da jemand einen Tipp?
:::
Ich habe mal geschaut, die Bilder oder Iconen, die nicht gehen haben 32x32, 16777216 Farben und im MemoryStream wird immer eine Exception ausgelöst durch ein Timeout. Kann so eine Größe garnicht in diesem Stream eingelesen werden? Ich versuche mich erstmalig an sowas, daher meine fragen!
:::
Leider ist es mir nicht möglich, so auf die schnelle DB mit Anbindung für dieses Thema zu erstellen. Ich kann nur verwenden, was schon vorhanden ist. Auslesen der Bilder funktioniert ja, aber eben für manche Bilder nicht, sodass ich nur wissen möchte, ob ich andere Objekte bzw. Klassen verwenden sollte o.ä.
:::
eine neue DB musst Du dir ja nicht erstellen. Du sagtest dass Du den Datenwerg BLOB in der DB hast. Wenn es SQL Server ist, dann könntest Du es ja, wie im Beispiel gezeigt auf den Datentyp Image legen um zu schauen ob sich anders verhält.
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
Ich wandle den Blob schon in Image, um diese in einer PictureBox anzuzeigen.
:::
Ich denke er meinte, dass du den Typen in der Datenbank schon auf Image setzen sollst.
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Ich denke er meinte, dass du den Typen in der Datenbank schon auf Image setzen sollst.
Genau 😉
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
Achso! Ich dachte aber man verwendet extra varbinary(max) als datentyp für solche Sachen???
SQL Server 2008 verwendet doch varbinary(max) statt früher image! (habe gerade noch mal im Inet geschaut, da ich mir da auch immer nicht so sicher bin)
:::
da die Daten, die nicht gehen, anscheinend größer sind als die, die gehen, mal ein Schuss ins Blaue...
Könnte es sein, dass die Timeout-Zeit deiner Datenbank-Connection bei der Datenabfrage zu kurz gewählt ist? Vielleicht einfach mal auf die doppelte oder dreifache (oder zum Testen auch mal die zehnfache) Zeit stellen und gucken obs was ändert.
gruß
sth_Weird
Linux is for free...if your time is worth nothing
Fluchen ist die einzige Sprache, die jeder Programmierer perfekt beherrscht
++++++++++++++++++++~+