Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 15. Februar 2012 17:25

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

[GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Ruft mich grade der Bearbeiter einer Website an, und sagt mir, dass seine hochgeladenen Bilder "unrechtmäßig" verkleinert wurden. (dachte mir sofort: Jaja... du nu wieder...)
mhh... schnell geprüft, und tatsächlich!

In den Optionen steht Breite:540px Höhe:235px
Wenn ich ein Bild hochlade mit genau diesen Dimensionen(540x235px) wird es auf z.B. 234px Höhe oder in der Breite 538px verkleinert, obwohl es nicht sein sollte.
Oder?

Die Bilder sollten doch nur verändert werden, wenn sie nicht einer der Vorgaben entsprechen.

Oder sehe ich das falsch?

Offline

#2 15. Februar 2012 20:25

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Um welches Ausgangsformat handelt es sich? Ich wette es ist nicht JPG.
Wie ich das sehe, werden die Bilder bereits vor dem Upload vom SWFUpload verkleinert. Dabei werden aber generell JPG Bilder erstellt - oder hast Du etwa schon mal PNG oder GIF Bilder mit der Gallery auch als solche hochladen können?
Da JPG eine verlustbehaftete Komprimierung ist, gehen dabei Bildinformationen verloren. Möglicherwiese wird dabei unsauber komprimiert bzw. werden (halb)transparente Ränder einfach weggeschnitten. Habe das gleiche Problem auch schon bei PHP beobachten können. D.h. ich habe ein JPG-Bild einfach nochmal etwas stärker komprimiert. Im Ergebnis war es 1-2px kleiner. Keine Ahnung ob und wie man das ändern könnte (außer, die Bilder vorher schon im JPG Format in korrekter Größe vorzubereiten).


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 16. Februar 2012 10:19

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

NaN schrieb:

Um welches Ausgangsformat handelt es sich? Ich wette es ist nicht JPG.

Doch. Es ist JPG! Grade noch mal getestet.

NaN schrieb:

Möglicherwiese wird dabei unsauber komprimiert bzw. werden (halb)transparente Ränder einfach weggeschnitten. Habe das gleiche Problem auch schon bei PHP beobachten können. D.h. ich habe ein JPG-Bild einfach nochmal etwas stärker komprimiert. Im Ergebnis war es 1-2px kleiner. Keine Ahnung ob und wie man das ändern könnte (außer, die Bilder vorher schon im JPG Format in korrekter Größe vorzubereiten).

Es gibt keine transparenten Ränder oder irgend etwas Ähnliches.
Es sind normal JPGs. Keine Fotos, sondern eher Darstellungen, auch mit Text, und da es einen Rand um den Bildbereich gibt, fällt es eher unangenehm auf, wenn das Bild statt 235px Höhe nur 234px Höhe hat. Eine 1px Lücke entsteht.
Der Kunde besteht nun mal auf genau diesem fixen Format 540x235px mit Rand.(sein Design)

Für den Moment habe ich die Vorgaben einfach um 2px erhöht erhöht, und dem Kunden mitgeteilt die Bilder vorher auf jeden Fall auf die richtige Grösse zuzuschneiden. Als Grafiker bereitet ihm das, zu meinem Glück, keine Schwierigkeiten.

Wenn ich dich also richtig verstehe, wird das SWF-hochgeladene Bild immer verarbeitet, komprimiert und gespeichert, auch wenn es die vorgegebene Grösse nicht überschreitet? Und durch erneute Kompression kann mal 1px verschwinden?

Offline

#4 16. Februar 2012 13:07

faglork
arbeitet mit CMS/ms
Ort: Fränkische Schweiz
Registriert: 15. Dezember 2010
Beiträge: 1.152
Webseite

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Klenkes schrieb:

Es sind normal JPGs. Keine Fotos, sondern eher Darstellungen, auch mit Text, und da es einen Rand um den Bildbereich gibt, fällt es eher unangenehm auf, wenn das Bild statt 235px Höhe nur 234px Höhe hat. Eine 1px Lücke entsteht.
Der Kunde besteht nun mal auf genau diesem fixen Format 540x235px mit Rand.(sein Design)

Dann setz doch einfach das img per CSS auf die gewünschten Größen. Bei 1px Unterschied fällt die Skalierung im Browser doch gar nicht auf ...

Servus,
Alex

Offline

#5 16. Februar 2012 13:19

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

faglork schrieb:

Dann setz doch einfach das img per CSS auf die gewünschten Größen. Bei 1px Unterschied fällt die Skalierung im Browser doch gar nicht auf ...

Hab' ich auch schon versucht, und normalerweise wäre das auch so. Urlaubsbilder oder brennende Häuser...  wink
Aber die Images sind Grafiken, teilweise mit Schrift, und Fotos von Produkten mit Schrift. Die um 1px verkleinerten Bilder sind dadurch schon ziemlich unscharf geworden, und beim Setzen der Größe per CSS wird's nicht wirklich besser.

Offline

#6 16. Februar 2012 13:21

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Der Upload der Bilder per FTP oder durch den FileManager ist keine Alternative?


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#7 16. Februar 2012 13:26

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

nockenfell schrieb:

Der Upload der Bilder per FTP oder durch den FileManager ist keine Alternative?

Doch, ist es tatsächlich.
Der Bearbeiter ist zum Glück kein DAU, sondern clever. Deshalb ist der Umstand auch keine Katastrophe, sondern nur etwas "unbequem", und ich im Erklärungsnotstand.

Offline

#8 16. Februar 2012 13:28

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Klenkes schrieb:

Der Bearbeiter ist zum Glück kein DAU, sondern clever. Deshalb ist der Umstand auch keine Katastrophe, sondern nur etwas "unbequem", und ich im Erklärungsnotstand.

Hast du mal direkt mit Jos, dem Entwickler, Kontakt aufgenommen? Er kann ein wenig Deutsch.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#9 16. Februar 2012 13:33

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

nockenfell schrieb:

Hast du mal direkt mit Jos, dem Entwickler, Kontakt aufgenommen? Er kann ein wenig Deutsch.

Gute Idee. Werde ich machen.

Offline

#10 16. Februar 2012 13:37

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Klenkes schrieb:

Wenn ich dich also richtig verstehe, wird das SWF-hochgeladene Bild immer verarbeitet, komprimiert und gespeichert, auch wenn es die vorgegebene Grösse nicht überschreitet? Und durch erneute Kompression kann mal 1px verschwinden?

Ich hab gerade mal verschiedene Bilder in unterschiedlichen Größen auf verschiedene Größen skalieren lassen. (alles JPEGs) Resultat war identisch bzw. auf die angegebene Größe skaliert. Da war kein Pixel Unterschied. Dateigröße war ebenfalls identisch (wenn Bilder nicht skaliert werden mussten). Scheint also keine Kompression/Skalierung vorgenommen zu werden, wenn es nicht sein muss. Auf dem Server selbst wird an dem Bild nichts mehr gemacht. Da wird lediglich ein Thumbnail erstellt und das war's. Muss also am SWF Upload bzw. Deinen Bildern liegen. Aber wo genau, kann ich leider nicht sagen. Kann nicht in die SWF Datei reinschauen und aus dem Action-Script werd ich nicht wirklich schlauer.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#11 16. Februar 2012 17:13

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Mhh... naja... komisch.
Gerade noch mal kreuz und quer, lokal und Online gecheckt, und es bleibt merkwürdig.

Vorgabe: 540x235px
Neues JPG mit 540x235px 40kb
nach dem Hochladen 540x234px 20kb

Ich sah gerade dass es in den letzten 2 Tagen 2 Galleryupdates gab.
Neues Spiel - neues Glück!

Offline

#12 16. Februar 2012 17:18

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

nach dem Hochladen 540x234px 20kb

Das spricht dafür, dass die Bilder trotzdem nochmal komprimiert werden (Qualitätsstufe 80).
Gibt leider keine Option im Gallery Modul wo man das einstellen könnte.
(Hab es übrigens mit Version 1.4.4 probiert)


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#13 16. Februar 2012 17:29

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

NaN schrieb:

Das spricht dafür, dass die Bilder trotzdem nochmal komprimiert werden (Qualitätsstufe 80).
...
(Hab es übrigens mit Version 1.4.4 probiert)

Hab jetzt die neueste 1.5.1 und das gleiche Verhalten.

Es muss doch irgendwo eine Bedingung geben... wenn größer/gleich Vorgabe, dann neu machen, wo es nur heissen müsste wenn größer als Vorgabe... also einfachst ausgedrückt.

Edit: Wie ich grade sehe, gibt es in der neuesten Version Optionen für Komprimierungseinstellungen für Images und Thumbnails. Super!

Beitrag geändert von Klenkes (16. Februar 2012 17:44)

Offline

#14 16. Februar 2012 18:03

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Die neuste Version von Gallery hat noch ein Problem aktuell:
http://forum.cmsmadesimple.org/viewtopi … =7&t=59628


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#15 17. Februar 2012 23:34

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Sooo ... jetzt folgen mal wieder, für meine Person typische, gaaanz wilde Spekulationen big_smile

Klenkes schrieb:

Es muss doch irgendwo eine Bedingung geben... wenn größer/gleich Vorgabe, dann neu machen, wo es nur heissen müsste wenn größer als Vorgabe... also einfachst ausgedrückt.

Im Prinzip richtig, aber diese Stelle steht nicht in dem öffentlich zugänglichen Code. Zumindest nicht in der Endversion. Im SVN sieht es anders aus. Jedoch nicht beim Gallery Modul, sondern beim SWFUpload. (Das ist das im Gallery-Modul verwendete Upload-Tool, welches davon unabhängig entwickelt wird - siehe auch http://swfupload.org ). An dieser Stelle wird aber nicht die Bildgröße, sondern das Seitenverhältnis verglichen.

Das einzige was ich in der Gallery Version 1.4.4 gefunden habe, ist, dass bisher pauschal alle Bilder mit Qualität 80 ins JPEG Format gebracht werden. Die Bildgröße spielt dabei keine Rolle. Da die Bilder aber vom Flash-Tool runtergerechnet werden, vermute ich eben, dass der Fehler eher dort liegt und weniger am Gallery-Modul. Diese Fehlerquelle mit dem Komprimieren könnte man aber ausschließen, indem man einfach mal die neue Version 1.5.1 probiert und dabei Qualitätsstufe 100 angibt (was ja vorher nicht ging).

Ich vermute allerdings weiterhin, dass es eher am Seitenverhältnis liegt. Es wird warscheinlich nicht die Datei von der Platte an den Server gesendet, sondern stattdessen in der SWF Datei generell eine (komprimierte) Kopie angelegt. Diese wird dann hochgeladen. Wenn man das Forum vom SWFUpload verfolgt, dann wird man sehen, dass ältere Versionen vor 2009 nicht in der Lage waren, Bilder bereits vor dem Upload beim Client zu skalieren. Dies ginge eben nur, wenn man eine Kopie des Bildes erstellt. Ich vermute, dass das bei der neueren Version so eingebaut wurde.

Um ein Bild zu komprimieren/skalieren muss man z.B. bei PHP zunächst auch erstmal ein neues Bitmap mit den Maßen des neuen Bildes anlegen. Das scheint bei dem Flash-Tool nicht anders zu sein. Ich vermute, dass beim SWFUpload einfach aus der in den Einstellungen des Gallery-Moduls angegebenen Breite/Höhe ein gerundetes Seitenverhältnis ermittelt wird, was als Grundlage zur Berechnung der Maße des neuen Bildes dient. Und am Ende wird irgendwo irgendwas bestimmt nochmal gerundet (denn halbe Pixel gibt es nicht). Dies wird vor allem im Code aus dem SVN des SWFUpload Tools deutlich (scheint VisualBasic zu sein, also nicht über den Code wundern wink ):

Dim target_ratio As Double = target_width / target_height
Dim image_ratio As Double = width / height

If target_ratio > image_ratio Then
	new_height = target_height
	new_width = Math.Floor(image_ratio * target_height)
Else
	new_height = Math.Floor(target_width / image_ratio)
	new_width = target_width
End If

final_image = New System.Drawing.Bitmap(target_width, target_height)

Es werden also auf jeden Fall immer die Seitenverhältnisse verglichen bzw. die Ergebnisse abgerundet und daraus dann ein neues Bild erstellt. Mit dieser Methode schlägt man zwei Fliegen mit einer Klappe. Man kann in einem Durchgang sowohl eine Kopie als auch eine skalierte Version erstellen (falls nötig), bei der das Seitenverhältnis weiterhin stimmt (zumindest größtenteils). Was man dabei aber unbeabsichtigt außerdem tut, ist eben, dass man durch das Runden auch dann skaliert, wenn es eigentlich garnicht nötig wäre, weil dadurch beim neuen Bild Kantenlängen entstehen können, die vom Original abweichen.

Beispiele:

Original-Bild: 663 x 402
Seitenverhältnis: 1,649253731343284
Bild nach dem Upload: identisch.
Auf drei Stellen nach dem Komma gerundet, ist das Seitenverhältnis 1,649.
Wenn man damit nun rechnet (Breite / Seitenverhältnis => neue Höhe), erhält man:
663 / 1,649 = 402,061855670103093 ~ 402 (abgerundet)
stimmt also.


Weiteres Beispiel:

Original-Bild: 540 x 235
Seitenverhältnis: 2,297872340425532
Wenn man hier auf drei Stellen nach dem Komma rundet, kommt man auf 2,298
Und nun passiert folgendes:
540 / 2,298 = 234,986945169712794 ~ 234 (abgerundet)
Daraus folgt beim Bild nach dem Upload: 540 x 234

monkey

Es scheint also irgendwie mit dem Seitenverhältnis und dem (Ab)Runden zu tun zu haben. Das würde erklären, warum dieses Phänomen eben nur bei manchen Bildern auftritt und nicht bei allen.

Gaaanz große Theorie ... mit einer Flasche Wein. Also habt Nachsicht big_smile


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#16 17. Februar 2012 00:30

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

Schei**sse!
Du könntest mir alles verkaufen!  lol

Auch ohne Wein im Hirn klingt deine Theorie sehr plausibel.
Werde sie dem Praxistest unterziehen und hoffentlich beweisen.

Offline

#17 17. Februar 2012 10:52

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: [GELÖST] Gallery: Vorgaben der Bilddimensionen - stimmen nach Upload nicht

NaN schrieb:

Gaaanz große Theorie ... mit einer Flasche Wein. Also habt Nachsicht big_smile

Offensichtlich war die Weinmenge genau richtig, und hoffentlich unterhalb der Missbrauchsmenge  wink

Erste Versuche am Bild ergaben eine Bestätigung der Theorie.
Nehme ich die Maße 540x240px ergibt dies ein Seitenverhältnis von genau 2,25
Ein Bild mit diesen Abmessungen wird beim Upload nicht angefasst.
...540x225px Seitenverhältnis 2,4 genauso.

Fazit:
Wie von dir vermutet sollte das Seitenverhältnis, wie soll man's sagen... keine gerundete Zahl ergeben. Dann wird das Bild gemäß den Vorgaben in den Optionen genau so übernommen, nicht erneut komprimiert sondern genauso übernommen.

Danke, und gelöst.

Offline