Zum Hauptinhalt gehen

Bildauflösungen automatisch zuschneiden

Kommentare

22 Kommentare

  • Zendesk API User
    Author: klein - 11/5/2012 12:58

    es sieht für mich nach einem Bug aus - der entsprechende so eben erstellte Bugreport hat die ID 129001.

    Weitere Infos folgen...

    0
  • Zendesk API User
    Author: andre - 11/5/2012 14:06

    siehe auch:

    https://community.e-spirit.com/message/7033#7033

    0
  • Zendesk API User
    Author: ampersand83 - 11/5/2012 14:16

    Ja ist es jetzt ein Bug oder nicht? Was soll mir an dieser Stelle der Verweis auf die andere Diskussion weiterhelfen. Da wird ja genau die Methode auch erwähnt, welche ich hier versuche zu verwenden.

    0
  • Zendesk API User
    Author: andre - 11/5/2012 15:19

    wenn man aufmekrsam liesst steht das etwas von UploadHooks in V5 , so koennte man es machen. ...und kein Bug "Sets the Crop informations of current pictureresolution, related to original resolution."

                                        ^^^^^^^^^^^^ Informations hier steht nichts von processen/verabeiten/calculate etc.   

    also #setCropData, kein Bug sondern Feature-Request und Javadoc-Clarification

    0
  • Zendesk API User
    Author: ampersand83 - 11/5/2012 15:34

    es sieht für mich nach einem Bug aus - der entsprechende so eben erstellte Bugreport hat die ID 129001.

    Weitere Infos folgen...

    Das steht ja jetzt weiter oben und konnte so auch gemäß eines Tickets vom Helpdesk nachgestellt werden.

    Das mit den Upload Hooks in FS5 habe ich wohl gelesen, hilft mir, da nur FS4.2 im Einsatz ist aber nicht weiter. Sorry, dass ich das weiter oben nicht geschrieben habe. In meinem Ursprungspost steht ja aber wie ich es gemacht habe und dass das eben nicht geht und das scheint ja tatsächlich ein Bug zu sein.

    0
  • Zendesk API User
    Author: andre - 11/5/2012 15:50

    > das scheint ja tatsächlich ein Bug zu sein.

    nein, wie ich schon geschrieben habe, das ist kein Bug aber ein missing Feaeture. Der Bug #129001 wurde bereits intern diskutiert, deswegen auch hier die Aussage No Bug.. vermutl. wird dieser #129001 Post in ein Feartur-Request umgewandelt. weiteres erfahren Sie dann vom helddesk.

    --

    andre

    0
  • Zendesk API User
    Author: ampersand83 - 11/6/2012 8:51

    Ok, also hat die Methode setSelection of dem CropData Objekt in FS4 keine Auswirkung und ich kann sie nicht verwenden. Frage mich nur wofür das ganze überhaupt dann überhaupt da ist. Wieso steht denn nirgendwo, dass sie in FS4 nicht verwendet werden kann?

    Da ich eine automatische Beschneidung von Bildren in den unterschiedlichen Auflösungen auf jeden Fall benötige, werde ich jetzt versuchen zur Beschneidung eine externe Bibliothek anzusprechen und in den Prozess einzuklinken.

    0
  • Zendesk API User
    Author: klein - 11/6/2012 9:31

    Hallo Herr Zülch,

    leider haben wir beide die JavaDoc zu der Methode setCropData(PictureCropData cropData)

    --------------

    Sets the Crop informations of current pictureresolution, related to original resolution.

    --------------

    falsch interpretiert :smileysad:

    Denn diese Methode setzt nur die Infos zu dem Zuschnitt

    (was auch funktioniert, denn die gesetzten CROP-Daten tauchen in der Bildproperties auf, z.B. so

    --------------------------------------------

    <PICTURE description="...">

        <RESOLUTION crc="57e56ebd" extension="jpg" height="562" mimetype="image/jpeg" pictureRevision="13808" resolutionid="ORIGINAL" size="149977" width="849"/>

        <RESOLUTION crc="42e4938e" cropData="0.0,0.0,10.0,20.0,0,false" extension="jpg" height="73" mimetype="image/jpeg" pictureRevision="20352" resolutionid="Teaser" size="5075" width="111"/>

    ....

    </PICTURE>

    --------------------------------------------

    )

    aber es findet eben kein tatsächlicher (physikalischer) Zuschnitt des Bildes statt (der eigentliche Zuschnitt passiert an einer anderen Stelle).

    Es gibt daher im Moment keine API-Methode, die ein Bild zuschneidet. Daher habe ich in Ihrem Namen einen FeatureRequest erstellt (interne ID 129057) und ich melde mich bei Ihnen über Ihr Ticket wieder, sobald es eine neue FS-Version gibt, in der dieses Feature zur Verfügung steht.

    Übrigens, aufgrund des Bugreports #129001 wird demnächst die JavaDoc entsprechend erweitert, damit es bei der Verwendung der aktuellen Methode setCropData() keine weiteren Missverständnisse mehr auftreten.

    Viele Grüße,

    Walter Klein.

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 11/6/2012 9:43

    Ich möchte hier noch mal ein paar klärende Worte loswerden:

    Die angesprochene Methode setCropData setzt eine optionale Zuschnittsinformation, führt aber keinen Zuschnitt aus. Eine Methode, um einen Zuschnitt per API durchzuführen gibt es aktuell nicht. D.h. man ist aktuell gezwungen, dies selber zu implementieren (mit Standard-Java-Mitteln). Die Zuschnittsdaten kann man dann setzen, muss man aber nicht.

    Unter dem angegebenen Ticket wird jetzt zunächst eine Klarstellung der API-Dokumentation an der Stelle vorangetrieben. Die Bereitstellung einer Komfort-Methode um einen Zuschnitt durchzuführen wird intern diskutiert.

    0
  • Zendesk API User
    Author: Anonymous - 6/10/2014 13:03

    Gibt es hier mittlerweile besagte API-Methode?

    Ich bin nun selbst an der Stelle, dass wir über einen Importer ein quadratisches Medium über FS-API importieren. Zusätzlich zum quadratischen Original wird ein quer- und ein hochformatiges Bild als Stützformate per picture.setPicture(resolution,...) gesetzt. Das funktioniert, so dass die zusätzlichen Bilder im Medium unter den jeweiligen Auflösungen landen. Diese Stützformat-Bilder haben allerdings nach dem Import ein Warn-Viereck "Falsche Auflösung" neben den Auflösungen. Wie bekomme ich einen ordentlichen Zuschnitt gesetzt?

    Folgender Code hat leider keine Auswirkung auf die Zuschnitte:

    PictureCropData cropData = new PictureCropData();

    cropData.setSelection(new Rectangle(resolution.getWidth(), resolution.getHeight()));

    PictureResolution picRes = picture.getPictureResolution(resolution);

    picRes.setCropData(cropData);

    Viele Grüße,

    Nils

    0
  • Zendesk API User
    Author: daniel_philippi - 7/15/2014 13:30

    Hallo Zusammen.

    Mit Hilfe des Upload Hook ist es ja nun wunderbar möglich automatisch Bildausschnitte anzulegen, wie oben gewünscht.

    Peter Jodeleit schrieb:

    Unter dem angegebenen Ticket wird jetzt zunächst eine Klarstellung der API-Dokumentation an der Stelle vorangetrieben. Die Bereitstellung einer Komfort-Methode um einen Zuschnitt durchzuführen wird intern diskutiert.

    Wie weit ist denn die interne Diskussion zur Komfort Funktion? Das wäre eine perfekte Ergänzung zum Upload Hook!

    Viele Grüße,

    Daniel

    0
  • Zendesk API User
    Author: hbarthel - 2/17/2018 0:25

    Gibt es diese Komfortfunktion mittlerweile?

    Ich finde es schade, dass die mit setCropData programmatisch gesetzten Werte für die Generierung des Bilds in der entsprechenden Auflösung von FS nicht benutzt werden, um das Bild zu schneiden, wenn noch keins da ist.

    Wie skaliert FS intern, d.h. mit den vom Benutzer eingestellten Cropdaten? Das Rumgehampel mit BufferedImage, ImageIO, getScaledInstance usw. will ich nicht.

    0
  • Zendesk API User
    Author: hbarthel - 2/20/2018 20:27

    Habe herausgefunden, wie man das elegant lösen kann, zwar nicht API, aber was soll's:

          media.setLock(true);

          cropImage = PictureCropImage.of(media, picture, resolution);

          selection = new Rectangle2D.Double((double)x, (double)y, (double)w, (double)h);

          cropImage.store(selection, ImageProcessing.NORMAL_0);

          media.save("autocrop");

          media.setLock(false);

    Geht alles, was FS kann und wo ich so meine Probleme hatte: Lesen von crappy JPEGs ('Numbers of source Raster bands and source color space components do not match'), PNG, Transparenz

    Die JPEG-Kompressions-Qualität ist leider FS-intern hart auf 0.9 getackert. Wäre natürlich schön, wenn das einstellbar wäre, aber man kann nicht alles haben.

    0
  • Zendesk API User
    Author: hbarthel - 4/6/2021 15:11

    Hallo zusammen, mit dem isolated mode ist mein "hack" leider nicht mehr nutzbar. Wie steht's denn um die angekündigte Komfort-Funktion?

    0
  • Zendesk API User
    Author: matthiasforberg - 2/11/2022 16:20

    Oh ja, darauf warte ich auch schon seit Jahren. Einstellbare vordefinierte Bildzuschnitte beim Hochladen, z.B. für quadratische Thumbnails oder hochkant-Ausschnitte aus querformatigen Bildern.

    Ich bin gespannt, ob ich das noch erleben darf...

    Grüße
    Matthias

    0
  • Zendesk API User
    Author: mmarm - 4/7/2022 14:44

    Hey Forbi,

    du bist es quasi schon am erleben

    FirstSpirit Online Documentation - Automatic cropping (e-spirit.com)

    Auf die schnelle nicht in dieser Doku gefunden, aber AFAIK wird bei leerer AWS Konfiguration der Fokusbereich auf 80% des Bildes gesetzt und somit eine maximaler, verzerrungsfreier Zuschnitt gesetzt.

    Wenn man AWS zur Verfügung hat wird das ganze richtig mächtig: Smart Cropping with AI.mp4 - YouTube

    0
  • Zendesk API User
    Author: dehaatbi - 3/2/2023 13:51

    Hallo,

    der Thread ist ja schon relativ alt, aber das Thema scheint mir immer noch aktuell. Ich wollte jetzt nochmal nachfragen ob es mit der aktuellsten FirstSpirit Version eine Möglichkeit gibt nach dem .setCropData(...) auch eine tatsächliche Berechnung des Bildes durchzuführen.

    Der Hintergrund ist für mich, dass wir aktuell viele der Originalbilder durch webp Bilder austauschen. Dann müssen natürlich die ganzen Zuschnitte auch neu berechnet werden und ich sehe aktuell keine Möglichkeit dies anzustoßen.

    Gruß Tobi

    0
  • Zendesk API User
    Author: f_koenig - 4/4/2023 16:01

    Leider scheint es hier immer noch keinen API-Weg zu geben, die Bilder zuzuschneiden.

    Was aber zumindest auf unserer SaaS-Instanz noch funktioniert ist eine abgewandelte Form des Skriptes die   hier gepostet hatte (vielen Dank dafür!):

    import java.awt.geom.Rectangle2D; import de.espirit.firstspirit.store.access.mediastore.PictureCropImage; import de.espirit.firstspirit.store.access.mediastore.ImageOrientation; picture = media.getPicture(context.getProject().getMasterLanguage()); resolution = context.getProject().getResolutionByName("resolutionName"); media.setLock(true); cropImage = PictureCropImage.of(media, picture, resolution); selection = new Rectangle2D.Double(x, y, width, height); cropImage.store(selection, ImageOrientation.NORMAL_0); media.save("autocrop"); media.setLock(false);

     

    Viele Grüße
    Fabian 

    0
  • Zendesk API User
    Author: dehaatbi - 4/6/2023 11:45

    Das scheint tatsächlich ganz gut zu funktionieren. Vielen Dank.

    Das einzig Unschöne dabei ist, dass man dann die fs-isolated-webrt einbinden muss, da die Klassen in der fs-isolated-runtime nicht enthalten sind.

    0
  • Zendesk API User
    Author: bIT_sosswald - 9/20/2024 16:00

    Hallo   ,

    bezugnehmend auf diesen Post und den hier https://community.crownpeak.com/t5/Questions-Answers/JPG-to-Webp-Konvertierung/m-p/57474 ...

    Ich stehe gerade auch vor der Herausforderung für webP Bildausschnitte neu zu setzen. Leider ist der Kunde noch nicht auf FS-Version 2023.10, so dass ich die automatische Lösung von FirstSpirit nicht verwenden kann.

    Habt ihr das Zurücksetzen durch ein Modul gemacht?

    Ich habe nämlich das Problem, dass er mir die von  angesprochene fs-isolated-webrt bei der Installation des Moduls ignoriert und dann beim Ausführen meines Codes meckert, dass er die Klasse "" nicht findet.

    Installation des Moduls:

    WARN 20.09.2024 16:56:52.783 (de.espirit.firstspirit.server.module.IsolationModuleManager): Resource 'lib/fs-isolated-webrt-5.2.230817.jar' of module 'bridgingIT WCMS Utilities' will be ignored.

     

    Ausführen eines Schedule-Jobs zum Setzen der Bilder und Zuschnitte

    ERROR 20.09.2024 16:46:17.547{dNR=} (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : java.lang.NoClassDefFoundError: de/espirit/firstspirit/store/access/mediastore/PictureCropImage java.lang.NoClassDefFoundError: de/espirit/firstspirit/store/access/mediastore/PictureCropImage

     

    Da es sich in meinem Fall um ein Remote-Media Projekt mit einer sehr großen Anzahl an Bildern handelt wollte ich das Setzen der Medien über ein Executable aus einem Schedule anstoßen. Außerdem gibt es zusätzlich eine große Anzahl an Landesprojekten, die ggf. noch lokale Medien haben, so dass ich den Schedule einfach aus einem Template in jedem Projekt ausführen kann.

    Habt ihr spontane Ideen?

     

    Grüße
    Sandro

    0
  • Zendesk API User
    Author: dehaatbi - 10/1/2024 9:34

    Hi  ,

    ich hab mal geschaut. In unserem Modul ist die fs-isolated-webrt als "provided" in der pom.xml eingetragen, wird also nur zum kompilieren benötigt.

    In der module-isolated.xml hab ich es auch nicht mit drin. Also scheint dann automatisch verfügbar zu sein wenn das Modul erst mal installiert ist. Also leider keine Ahnung wieso bei dir der NoClassDefFoundError kommt.

    Gruß Tobi

    0
  • Zendesk API User
    Author: bIT_sosswald - 10/9/2024 7:25

    HI ,

    danke für deine Antwort. Komisch, bei mir hat es weiter nicht funktioniert. Aber egal, jetzt habe ich eine kleine lokale Spring Boot App, die mit Hilfe der webrt Lib das Zurücksetzen der Zuschnitte übernimmt. Ist zwar ein massiver Overhead was den Datentransfer abgeht, aber es funktioniert.

    Beste Grüße
    Sandro

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.