Runtime Error "CreateBitmapFromWicBitmap)

  1. 4 months ago

    Stefan M

    Aug 12 Germany, NRW, Kirchlengern (Kr...

    Meine Anwendung produziert (nur unter Windows) folgende Fehlermeldung:
    -image-

    Hat jemand eine Idee, woran das liegt und wie man das behebt?

    In der IDE wird das nicht abgefangen und auch nicht angezeigt, wo der Fehler liegt. Auf meinem Mac läuft es tadellos.
    ...
    Ich konnte die Fehlerstelle eingrenzen auf diese Zeile (in einem PaintEvent eines Canvas):
    g.drawpicture Schmuckgrafik, 0, 0, g.width, g.Height, 0, ScrollBar1.Value*25, Schmuckgrafik.width, me.Height*i

    Schmuckgrafik ist nicht Nil und hat eine Größe von 2422x8980 Pixel (Width x Hight)
    i=3,3826815642458099 (Double)
    g (Graphics vom Canvas) = 716 x 480 (Width x Hight)

    Xojo 19r1.1 mit mbs Plugins 19.3

    Gruß, Stefan Mettenbrink.

  2. Beatrix W

    Aug 12 Pre-Release Testers, Third Party Store Europe (Germany)

    Ist Dein Bild vielleicht zu groß für Windows?

  3. Stefan M

    Aug 12 Germany, NRW, Kirchlengern (Kr...

    Ab wann ist es für Windows zu groß?
    Was kann ich dagegen unternehmen?

    Wäre schön, wenn Xojo das erkennen und passend reagieren würde.

  4. Christian S

    Aug 12 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    Bitte kleines Beispiel machen und mit Feedback melden.

    Da sollte eine Exception kommen, wenn es nicht geht.

  5. Stefan M

    Aug 13 Germany, NRW, Kirchlengern (Kr...

    Ich habe mal ein Beispiel erstellt und auch gleich einen Fix gefunden:
    link text

    Ich habe für den Fix ein LocalPicture in Größe des Canvas erzeugt.
    Dann wurde das große Picture in das LocalPicture gezeichnet (problemlos). Danach konnte ich das LocalPicture in das Graphics vom Canvas ausgeben.

    Kann das mal jemand prüfen?
    Dann kann ich es ja als Feedback melden.

  6. Jürg O

    Aug 13 Pre-Release Testers, Xojo Pro

    @StefanMettenbrink Ich habe für den Fix ein LocalPicture in Größe des Canvas erzeugt.

    Das ist eine gute Idee - zumindest für TargetWindows.

    @StefanMettenbrink Dann kann ich es ja als Feedback melden.

    Ein bekanntes Problem bei der Direct2D Implementation von Xojo ist, dass Bilder einen enormen Bedarf an Arbeitsspeicher haben...
    Ein anderer gemeldeter Effekt (wohl ähnlich wie dem hier) ist Feedback Case #54421. Dort beschriebene Workarounds könnte hilfreich sein, wenn so grosse Bilder über längere Zeit in der Anwendung gehalten werden...

    William Yu: the main issue is our aggressive caching. The trade-off here is speed vs. memory.

    Leider gibt es bei Xojo (meist) keine schöne "Out Of Memory" Meldung... das Resultat ist dann entweder ein Absturz oder so eine kryptische Meldung wie "Runtime Error (CreateBitmapFromWicBitmap)".

  7. Christian S

    Aug 14 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    Danke, das Problem sieht man direkt hier.

    Und habe es bei Feedback Case #54398 hinzugefügt.

  8. Hallo Stefan,
    ich habe unter MAC deine Paint Routine geändert.
    Dein Beispiel hat eine Scrollbar1 mit Maximum 100 * 25 nie das Bildende erreicht / Scrollbar.livescroll auf True

    Dim i As Double
    If Schmuckgrafik<>Nil Then
    if me.Height>=Schmuckgrafik.Height then
    g.drawpicture Schmuckgrafik,0,0,g.width,Schmuckgrafik.Height,0,0,Schmuckgrafik.width,Schmuckgrafik.Height
    else
    i=Schmuckgrafik.Width/Canvas1.Width
    ScrollBar1.maximum = Schmuckgrafik.height-canvas1.Height*i // Anzeige bis Ende
    g.drawpicture Schmuckgrafik,0,0,g.width,g.Height,0,ScrollBar1.Value,Schmuckgrafik.width,Me.Height*i // * 25 gelöscht
    End
    end

  9. 3 months ago

    Stefan M

    Sep 8 Germany, NRW, Kirchlengern (Kr...

    Hallo Rolf,
    danke für den Hinweis.
    Ich habe im Code des Hauptprojektes nachgesehen. Dort funktioniert es.
    Demnach scheint es ein Problem im Beispielprojekt zu sein.

or Sign Up to reply!