2015-08-22 4 views
5
$ ghci 
GHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help 
Prelude> import Codec.Picture 
Prelude Codec.Picture> Right pic <- readImage " smiley.bmp " 
&ltinteractive>: out of memory (requested 4296015872 bytes) 

smiley.bmp ist unter 300 Bytes. Warum hatte ich keinen Speicher mehr?Juicy Pixels beschwert sich über nicht genug Speicher

+1

Was ist in der 'smiley.bmp' Datei? Vielleicht behauptet es eine riesige Höhe und Breite? – Cirdec

+0

@Cirdec Es ist nur 9 mal 9 Pixel. Sie können auf den obigen Link klicken, wenn Sie es untersuchen möchten. – PyRulez

+2

Das ist eine wirklich gute Frage. Das eigentliche Problem interessiert mich nicht so sehr, sondern nur die Vollständigkeit, Hyperlinks und alles. Sehr beeindruckend. Hast du DevIL schon ausprobiert? –

Antwort

4

Dies ist nicht wirklich eine gültige Bitmap-Datei und JuicyPixels ist kein Fehler beim Überprüfen der Eingaben, wie es sollte. Beachten Sie die Dimensionen ...

% file smiley.bmp 
smiley.bmp: PC bitmap, Windows 3.x format, 8 x -8 x 24 
+0

Was zum? Schlechter Smiley! – PyRulez

+0

Ja das war es. Es funktioniert mit einem anderen Bild gut. – PyRulez

+1

Die Bitmap ist gültig. Laut MSDN bedeutet eine negative Höhe, dass der Ursprung in der oberen linken Ecke liegt. – Alex

5

Dies ist ein Fehler in juicypixels wo Bitmaps mit negativen Höhen nicht richtig interpretiert werden.

Die negative Höhe sollte den Ursprung in der oberen linken Ecke und nicht in der unteren linken Ecke anzeigen.

Ich habe einen neuen Bug-Report hier eröffnet: https://github.com/Twinside/Juicy.Pixels/issues/105

Juicy Pixel unterstützen Bitmap nicht besonders gut. Es gibt eine Reihe anderer Einschränkungen. (siehe https://github.com/Twinside/Juicy.Pixels/issues/96)

+1

Es wurde jetzt behoben. Sie haben sogar einen Testfall zum Smiley gemacht. – PyRulez