Luke: SCEditor: Eingefügte Bilder per Paste sind zu groß

Hallo zusammen,

ich nutze SCEditor und kann per Copy & Paste Bilder direkt in das WYSIWYG-Textfeld einfügen. Das Bild wird dabei als data:image/png;base64,... eingefügt.

Das Problem: Die eingefügten Bilder erscheinen etwa 1,2-mal größer als das Original. Das könnt Ihr in der Online-Demo auch selber reproduzieren, wenn gewünscht. Das Verhalten tritt insbesondere bei Bildausschnitten auf. Bei kompletten Bildern scheint es nicht aufzutreten.

Die zugrunde liegende Funktion scheint folgende zu sein:

handlePasteEvt = function (e) {
    var editable = wysiwygBody;
    var clipboard = e.clipboardData;
    var loadImage = function (file) {
        var reader = new FileReader();
        reader.onload = function (e) {
            handlePasteData({
                html: '<img src="' + e.target.result + '" />'
            });
        };
        reader.readAsDataURL(file);
    };
};

Hat jemand eine Idee, woran das liegen könnte und wie ich die Bilder in ihrer Originalgröße einfügen kann?

Danke im Voraus! 😊

Luke

  1. Hallo,

    Hat jemand eine Idee, woran das liegen könnte und wie ich die Bilder in ihrer Originalgröße einfügen kann?

    die Kernfrage ist vermutlich: Wie definierst du Originalgröße?

    Viele Bildformate (Windows-Bitmap, JPEG, PNG) enthalten im Datei-Header eine Angabe darüber, wie groß sie denn "in echt" sein wollen. Üblicherweise verklausuliert als "soundsoviele Pixel pro Zoll" (dpi).

    Wenn da ein plausibler Wert drinsteht, skalieren die meisten Programme das Bild dementsprechend. Nur wenn der dpi-Wert 0 ist, erfolgt die Darstellung meist exakt Pixel zu Pixel.

    Einen schönen Tag noch
     Martin

    --
    Manchmal kann man gar nicht so viel fühlen, wie man denkt.
    Und manchmal fühlt man so viel, dass man gar nicht denken kann.
  2. Hallo Luke,

    Hallo zusammen,

    ich nutze SCEditor und kann per Copy & Paste Bilder direkt in das WYSIWYG-Textfeld einfügen. Das Bild wird dabei als data:image/png;base64,... eingefügt.

    Das Problem: Die eingefügten Bilder erscheinen etwa 1,2-mal größer als das Original.

    Man kann Bilder ein width-Attribut geben oder die width mit CSS setzen.

    Denn es ist egal, wie groß die Bilder sind. Wichtig ist, wie groß die Bilder aus der Webseite dargestellt werden sollen.

    im Wiki: (optionale) Breiten- und Höhenangaben

  3. Hallo Luke,

    Das Bild wird dabei als data:image/png;base64,... eingefügt.

    Ja, das kann ich bestätigen wenn ich per Windows Snipping-Tool einen Ausschnitt erstelle und einfüge.

    Und nein, das kann ich nicht bestätigen, wenn ich auf einem Bild im Browser "Bild kopieren" sage und das einfüge – in dem Fall wird eine http(s)-URL eingefügt.

    Das Problem: Die eingefügten Bilder erscheinen etwa 1,2-mal größer als das Original. Das könnt Ihr in der Online-Demo auch selber reproduzieren, wenn gewünscht. Das Verhalten tritt insbesondere bei Bildausschnitten auf.

    Leider nein, das kann ich nicht reproduzieren, weder bei Bildern noch bei einem mit dem Snipping-Tool erstellten Ausschnitt. Bei mir ist die Größe 1:1. Das scheint also kein SCEditor-Thema zu sein, sondern irgendwas, was speziell für Dich gilt.

    Hypothesen:

    • Hast Du im Browser einen Text-Zoom eingestellt oder eine Schriftvergrößerung?
    • Hast Du im Betriebssystem eine Vergrößerung eingestellt? (Welches Betriebssystem ist das?)
    • Hast Du einen High-Resolution Monitor?

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      ich hatte ansich ein langes, auf alle Punkte eingehendes Post geschrieben, das mir aber leider abhanden gekommen ist.

      Daher beschräne ich mich mich jetzt auf das Wesentliche.

      Hypothesen:

      • Hast Du im Betriebssystem eine Vergrößerung eingestellt? (Welches Betriebssystem ist das?)

      Genau daran lag es, vielen Dank für die Hilfe!
      Ich hatte einen Zoomfaktor von 175% im Win10 eingestellt.
      Sobald ich den heraus nehme, kann ich das Ursprungsproblem ebenfalls nicht mehr reproduzieren.

      Mir ist zwar nicht ganz klar, warum sich der Zommfaktor hier so auswirkt, aber nützt ja nichts. Ich arbeite ab jetzt dann mit 100% weiter.

      Gruß ins Wochenende,
      Luke

      1. Hallo,

        Mir ist zwar nicht ganz klar, warum sich der Zommfaktor hier so auswirkt, aber nützt ja nichts. Ich arbeite ab jetzt dann mit 100% weiter.

        und damit kannst du arbeiten?? 😲

        Für mich sind damit die Schriften und Icons mikroskopisch klein. Je nach Bildschirmgröße ist unter Windows ein systemweiter Zoomfaktor von 125% oder sogar 150% zwingend nötig.
        Sonst sehe ich stellenweise keine Schrift mehr, sondern nur noch Fliegenschisse. Zum Beispiel auf meinem Geschäfts-Notebook mit 17" und Full-HD und Windows 10.

        Einen schönen Tag noch
         Martin

        --
        Manchmal kann man gar nicht so viel fühlen, wie man denkt.
        Und manchmal fühlt man so viel, dass man gar nicht denken kann.
        1. Hallo Martin,

          Mir ist zwar nicht ganz klar, warum sich der Zommfaktor hier so auswirkt, aber nützt ja nichts. Ich arbeite ab jetzt dann mit 100% weiter.

          und damit kannst du arbeiten?? 😲

          Ich verstehe diesen Zoomfaktor irgendwie nicht.
          Gerade habe ich testhalber nochmal auf 175% gestellt und siehe da, alles viel zu groß.
          Bei mir sehen jetzt die 100% fast genauso aus, wie zuvor die 175%...

          Gruß, Luke

          1. Ich verstehe diesen Zoomfaktor irgendwie nicht.
            Gerade habe ich testhalber nochmal auf 175% gestellt und siehe da, alles viel zu groß.
            Bei mir sehen jetzt die 100% fast genauso aus, wie zuvor die 175%...

            Ok, jetzt habe ich es verstanden.
            Ich hatte gar nicht 175% Zoomfaktor, sondern "individuelle" 110% eingestellt.
            Wenn man aber einen individuellen Zoomfaktor einstellt, zeigt Windows einem ausgegraut immer 175% an. Daher die Verwirrung bei mir.

            Luke

      2. Hallo Luke,

        ich habe gerade mal mein Windows auf 175% eingestellt und dann mit Snipping-Tool einen Ausschnitt aus dem Edit-Bereich von SCEdit gemacht und dann eingefügt.

        Das eingefügte Bild war 166px breit und war zu groß. Taschenrechner sagt: 166 / 1.75 ≈ 95 – ich habe also dem Bild width:95px gegeben und es hatte die richtige Größe.

        Heißt also: Das Snipping-Tool hat den Bildschirm Pixel für Pixel ausgelesen, weshalb der Snip um 175% zu geworden ist.

        Danach habe ich auf 100% zurückgestellt. Alles wurde kleiner, das Bild auch.

        Heißt also letztlich: Das Snipping-Tool erstellt eine Bitmap ohne dpi-Angaben, so dass beim Einfügen keine Chance besteht, dem eingefügten Bild die richtige intrinsische Größe zu geben. Ich habe aber auch nicht wirklich eine Ahnung, ob das ein Fehler von Snip ist, vom verwendeten Grafikformat der data-URL oder ob es möglicherweise prinzipiell nicht geht.

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Hallo Rolf,

          ich habe gerade mal mein Windows auf 175% eingestellt und dann mit Snipping-Tool einen Ausschnitt aus dem Edit-Bereich von SCEdit gemacht und dann eingefügt.

          Das eingefügte Bild war 166px breit und war zu groß. Taschenrechner sagt: 166 / 1.75 ≈ 95 – ich habe also dem Bild width:95px gegeben und es hatte die richtige Größe.

          Naja, ok. Würde bedeutet, wenn ich das nur für mich nutze und da der Data-string vor dem Upload ohnehin in ein Image gewandelt wird, könnte man die Pixelbreite auslesen und anschließend dem img-tag eine definierte Breite mitgeben.

          Aber wie ich Martin schon schrieb, ist der Zoomfaktor 175%, mit dem ich seit Jahren mit diesem Laptop gearbeitet habe, nun viel zu groß geworden und die 100% Skalierung passt eigentlich.

          Gruß, Luke

  4. @@Luke

    Das Bild wird dabei als data:image/png;base64,... eingefügt

    In deiner Vorschau? Oder ist es als solches dann auch auf der Webseite?

    Auf der Webseite sollte ein Bild nicht als Base 64 eingebettet werden; das wird dann unnötig groß.

    Und über welche Art PNG reden wir hier eigentlich? PNG-8 oder PNG-24? Letzteres ist fürs Web nicht geeignet, weil viel zu groß.

    Jolan tru

    --
    Wenn der Faschismus wiederkehrt, wird er nicht sagen „Hallo, ich bin der Faschismus.“ Er wird sagen: „Ich suche in diesem Deutschen Bundestag keine anderen Mehrheiten als die in der demokratischen Mitte. Wenn es heute eine solche Mehrheit gegeben hat, bedauere ich das.“ (Friedrich Merz)
    1. Hi Gunnar,

      In deiner Vorschau? Oder ist es als solches dann auch auf der Webseite?

      Auf der Webseite sollte ein Bild nicht als Base 64 eingebettet werden; das wird dann unnötig groß.

      In der Vorschau.
      Bevor aber der Inhalt dieser Textarea in die db übergeht, mache ich ein image daraus und ersetze den data-string durch ein [img]-bbcode-tag.

      Luke