Fehler beim Bilder importieren "Out of Memory"

  • Hallo Zeta Team,

    wir haben ein größeres Problem:

    Wenn wir über das Bilderalbum oder über Extras/Bilder importieren -> Bilder einfügen möchten, dann erscheint "Out of Memory"


    System.OutOfMemoryException
    -----------------
    Out of memory.
    -----------------
    at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
    at System.Drawing.Graphics.DrawImage(Image image, Rectangle destRect, Int32 srcX, Int32 srcY, Int32 srcWidth, Int32 srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttrs, DrawImageAbort callback, IntPtr callbackData)
    at System.Drawing.Graphics.DrawImage(Image image, Rectangle destRect, Int32 srcX, Int32 srcY, Int32 srcWidth, Int32 srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttr)
    at Zeta.VoyagerLibrary.Tools.ImageScaler.ScaleImage(Image image, Int32 width, Int32 height)
    at Zeta.VoyagerLibrary.Tools.ImageScaler.ReduceSizeProportionally(Image image, Int32 maxWidth, Int32 maxHeight)
    at ZetaProducer.RuntimeBusinessLogic.Webbing.Assets.Images.WebImageAssetFileHelper.CopyAndScaleImage(ZlpFileInfo sourceFilePath, ZlpFileInfo destinationFilePath, Int32 maxWidthInPixel)
    at ZetaProducer.RuntimeBusinessLogic.Webbing.Assets.Images.WebImageAssetImportController.Import(WebImageAsset importIntoImageAsset, ZlpFileInfo importFromFilePath, String suggestedFileName, WebImageImportFormat importFormat, Boolean wantSetNameAndObjectID, String name)
    at ZetaProducer.Main.Assets.Images.Other.AssetManagementImagesUIHelper.importOneImage(InternalImportInformation info, GenericImageSelectionResultItem fileToImport, ImportResult result)
    at ZetaProducer.Main.Assets.Images.Other.AssetManagementImagesUIHelper.coreImportImageAssets(WebAssetCategory cat, IEnumerable`1 fis, ImportInformation externalInfo)
    at ZetaProducer.Main.Assets.Images.Other.AssetManagementImagesUIHelper.<>c__DisplayClass20.<FullImportImagesIntoAlbum>b__1c(Object param0, DoWorkEventArgs param1)
    at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
    at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
    OutOfMemoryException
    {
    Message="Out of memory.",
    Data=
    [
    ]
    ,
    InnerException=null,
    TargetSite=RuntimeMethodInfo: CheckErrorStatus,
    StackTrace=" at System.Drawing.Graphics.CheckErrorStatus(Int32 status)\\r\\n at System.Drawing.Graphics.DrawImage(Image image, Rectangle destRect, Int32 srcX, Int32 srcY, Int32 srcWidth, Int32 srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttrs, DrawImageAbort callback, IntPtr callbackData)\\r\\n at System.Drawing.Graphics.DrawImage(Image image, Rectangle destRect, Int32 srcX, Int32 srcY, Int32 srcWidth, Int32 srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttr)\\r\\n at Zeta.VoyagerLibrary.Tools.ImageScaler.ScaleImage(Image image, Int32 width, Int32 height)\\r\\n at Zeta.VoyagerLibrary.Tools.ImageScaler.ReduceSizeProportionally(Image image, Int32 maxWidth, Int32 maxHeight)\\r\\n at ZetaProducer.RuntimeBusinessLogic.Webbing.Assets.Images.WebImageAssetFileHelper.CopyAndScaleImage(ZlpFileInfo sourceFilePath, ZlpFileInfo destinationFilePath, Int32 maxWidthInPixel)\\r\\n at ZetaProducer.RuntimeBusinessLogic.Webbing.Assets.Images.WebImageAssetImportController.Import(WebImageAsset importIntoImageAsset, ZlpFileInfo importFromFilePath, String suggestedFileName, WebImageImportFormat importFormat, Boolean wantSetNameAndObjectID, String name)\\r\\n at ZetaProducer.Main.Assets.Images.Other.AssetManagementImagesUIHelper.importOneImage(InternalImportInformation info, GenericImageSelectionResultItem fileToImport, ImportResult result)\\r\\n at ZetaProducer.Main.Assets.Images.Other.AssetManagementImagesUIHelper.coreImportImageAssets(WebAssetCategory cat, IEnumerable`1 fis, ImportInformation externalInfo)\\r\\n at ZetaProducer.Main.Assets.Images.Other.AssetManagementImagesUIHelper.<>c__DisplayClass20.<FullImportImagesIntoAlbum>b__1c(Object param0, DoWorkEventArgs param1)\\r\\n at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)\\r\\n at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)",
    HelpLink=null,
    Source="System.Drawing",
    HResult=-2147024882
    }


    Es geht mit allen Importeinstellungen nicht.

    Brauche dringend Hilfe.

    Zeta 12.5.6


    Gruß Ronny

  • Am besten mal System neu starten. Dann die zu importierenden Bilder am besten zuvor in einer Bildbearbeitung etwas runter zu rechnen.

    Freundliche Grüße
    Steffen T. (Zeta Producer-Support)

  • System neu hochgefahren, Bildimport gestartet -> gleiches Ergebnis.

    Bilder haben durchschnittlich 1,6 MB Dateigrösse

    Mit der 11er Version funktionierte das problemlos.

    Allerdings: Es sind 988 Bilder im Projekt - hat es was damit zu tun?

    Wir haben jetzt mit XnView die zu importierenden Bilder alle auf eine Einheitsgrösse von 990px skaliert gebracht und keine Auswahl (klein/mittel/groß) getroffen. Jetzt wurden die Bilder importiert. Das kann es aber jetzt nicht sein, da es ja vorher problemlos möglich war, die Bilder in Zeta zu importieren und während des Imports die Bildgrösse zu ändern.

    Was nun?

    Gruß Ronny

    P.S.: Wenn ich das Problem bei mir hätte, wäre es natürlich kein Problem, die Bilder vorher zu verarbeiten. Leider kennt sich mein Kunde nicht mit Grafikbearbeitung aus :(

  • Hallo,

    diesen Fehler beobachten wir auch oft bei korrupten Dateien. Lässt sich der Fehler denn auf eine Bestimmte Datei einschränken, sprich, taucht der Fehler immer beim der selben Datei auf?

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Guten Morgen Herr Seiz,

    nein, wir haben es mit diversen Grafiken getestet. Mal aus dem einen Verzeichnis, mal aus einem anderen. Mal 1 Datei, mal mehrere auf einmal.

    Sobald die Dateien nicht vorher bereits verkleinert wurden, gibt es auf einmal den "out of Memory" Fehler. Unser Kunde hat 6 Projekte - bei allen das Gleiche. Wie gesagt, bei der 11er Version war das kein Thema.

    Ich vermute das es eventuell an den bereits importierten Grafiken liegt (988) ?!?

    Gruß Ronny

  • Werden denn alle 988 Bilder im Projekt auch benutzt, oder sind viele der Bilder überhaupt nicht referenziert? Dann würde ich nämlich vorschlagen, mal alle ungenutzten Bilder zu löschen um zu sehen, ob das einen Unterschied macht. Mehr fällt mir im Moment nicht ein, ich gebe dies aber auch an unsere Entwickler weiter.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Ob man es nun glaubt oder nicht, aber es werden tatsächlich alle Bilder genutzt ;)

    Wir haben bereits mit dem "Werkzeug" alle nicht referenzierten Bilder gelöscht...

    Gruß Ronny

  • "Out of memory" ist die (leider) generische Fehlermeldung von GDI+, die soviel aussagt wie "Irgendetwas gefällt mir an dem Bild nicht".

    Das könnte z.B. sein:

    • Bild ist korrupt.
    • Bild hat ein exotisches (Sub-)Format.
    • Bild hat tatsächlich zu große Pixelabmessungen.
    • …

    Ggf. kannst Du mir das Bild, bei dem der Fehler kommt zur Verfügung stellen. Ggf. auch alle Bilder.

    Wichtig ist, dass das Bild so 1:1 als Datei weitergegeben wird; bereits ein erneutes Speichern könnte den Fehler reparieren und damit nicht mehr nachvollziehbar machen.

    Mir gerne die Bilder über diesen Link schicken.

  • Moin Uwe,

    am Montag arbeiten die wieder auf Mallorca. Ich ziehe mir die Files dann mit Teamviewer rüber und sende sie dann.

    Vielleicht kommen wir ja auf die Lösung.

    Gruß und schönes Wochenende, Ronny

  • Hallo,

    könnten Sie bitte kurz erläutern, wie Sie das "uploaden" und wer der Empfänger sein sollte? Dann müssen wir hier nicht so rumsuchen. Danke!

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Jetzt habe ich nachgeschaut.

    Ursache ist meiner Meinung nach, dass Deine Bilder viel zu breit und zu hoch sind.

    Zeta Producer skaliert die Bilder zwar runter, bei so extremen Bildgrößen ist jedoch der Skalierer im .NET Framework schlicht überfordert.

    Lösung:

    Wenn Du die Bilder im Vorfeld manuell kleiner skalierst (z.B. mit Paint.Net), dann sollte es funktionieren.

    Ich habe z.B. das obige Bild auf 4000 Pixel Breite skaliert und dann konnte ich es erfolgreich in Zeta Producer importieren.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!