Verena: Bild auf dpi prüfen

Guten Abend,

ist es möglich dass ich beim Upload bzw. danach oder auch davor prüfe ob ein Bild MINDESTENS 300dpi hat? Alles was keine 300dpi hat darf erst gar nicht hochgeladen werden.

Villeicht gibt es ja schon etwas fertiges.

Gruß
Verena

  1. Hallo,

    ist es möglich dass ich beim Upload bzw. danach oder auch davor prüfe ob ein Bild MINDESTENS 300dpi hat?

    die allgemeine Antwort lautet zunächst mal "nein".

    Gängige Grafikformate wie JPEG oder PNG, theoretisch auch das in der Windows-Welt verbreitete BMP-Format, sehen zwar im Dateiheader ein Feld vor, in dem die Auflösung angegeben werden kann. Viele Programme tragen da aber Phantasiewerte oder einfach 0 ein.

    Und das ist auch nachvollziehbar, denn die Auflösung ergibt sich erst dadurch, dass ich ein Bild mit gegebener Pixel-Anzahl in einer bestimmten Größe darstelle. Ein Bild mit, sagen wir, 300x400 Pixeln hat, wenn ich es auf einem Monitor mittlerer Größe 1:1 darstelle, etwa 60dpi. Drucke ich aber dasselbe Bild in Briefmarkengröße aus, habe ich plötzlich 300dpi.

    Umgekehrt: Wenn in der Grafikdatei selbst eine glaubwürdige dpi-Angabe eingetragen ist, dann ist das nichts weiter als ein Umrechnungsfaktor, mit dem ich berechnen kann, in welcher Größe der Ersteller dieses Bild angezeigt haben will.

    Alles was keine 300dpi hat darf erst gar nicht hochgeladen werden.

    Reicht nicht. Ich nehme ein Bild in VGA-Auflösung (640x480, etwa 300k Pixel) und schreibe 300dpi in den Dateiheader. Daraus folgt, dass das Bild beim Ausdruck oder bei der Anzeige 54mm breit sein soll. Erfüllt das damit deinen Anspruch?

    So long,
     Martin

    --
    Ordnung schaffen heißt, das Eigelb vom Dotter zu trennen.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo,

      vielen Dank für deine Ausfühlriche Antwort, dass ich das so einfach nicht umsetzten kann war mir fast klar. Jetzt frage ich mich aber wie es z.B. iStock und co macht, die haben folgende größen:

      Klein
      800*533px
      Web (72dpi)

      Groß
      3600*2400px
      (30*20cm @300 dpi)

      Extra Groß
      5040*3360
      (43*28cm @ 300dpi)

      Wenn ich dort ein Bild hochlade, steht zwar dass das Bild geprüft wird, aber ich denke doch nicht, dass das von Hand alles geprüft wird oder? Ich möchte einfach verhinder, dass User mir jeden scheiß also auch ganz kleine Bilder zuschicken und sagen druck mal.

      Gruß
      Verena

      1. Hi,

        vielen Dank für deine Ausfühlriche Antwort, dass ich das so einfach nicht umsetzten kann war mir fast klar. Jetzt frage ich mich aber wie es z.B. iStock und co macht, die haben folgende größen:

        Klein
        800*533px
        Web (72dpi)

        Groß
        3600*2400px
        (30*20cm @300 dpi)

        Extra Groß
        5040*3360
        (43*28cm @ 300dpi)

        Wenn ich dort ein Bild hochlade, steht zwar dass das Bild geprüft wird, aber ich denke doch nicht, dass das von Hand alles geprüft wird oder?

        um Himmels Willen, nein. Wenn du von der Auflösung zur Bildgröße (in Pixel) übergehst, wird's relativ einfach. Kommt ein bisschen drauf an, welche Sprache/Technik du serverseitig verwendest. Ich gehe mal von PHP aus, weil das wohl am weitesten verbreitet ist. PHP bietet, wenn die gd-lib verfügbar ist, die Funktion getimagesize(), mit der du recht einfach die Bildgröße abfragen kannst. Andere Sprachen/Frameworks bieten vermutlich Ähnliches.

        Ich möchte einfach verhinder, dass User mir jeden scheiß also auch ganz kleine Bilder zuschicken und sagen druck mal.

        Wenn's ein bezahlter Service ist, würde ich sagen: Kriegst du - selber schuld, wenn du mir Schrott gibst. ;-)

        Ciao,
         Martin

        --
        Finanztipp:
        Leihen Sie sich Geld von einem Pessimisten.
        Er rechnet sowieso nicht damit, dass er es zurückbekommt.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo,

          Wenn's ein bezahlter Service ist, würde ich sagen: Kriegst du - selber schuld, wenn du mir Schrott gibst. ;-)

          Das kann man so machen. Die Frage ist, ob der Kunde (der dann sicher nicht mehr _Dein_ Kunde ist) dann den Fehler bei sich erkennt, oder doch eher Negativ-Empfehlungen über Dich verstreut.

          Gruß
          Kalk

      2. Hallo Verena

        Ich möchte einfach verhinder, dass User mir jeden scheiß also auch ganz kleine Bilder zuschicken und sagen druck mal.

        Wenn Du die Bilder für den Kunden drucken sollst, solltest Du ihn fragen, wie groß der Ausdruck sein soll (in z.B. in cm). Wennst Du dann noch weißt, welche Punktdichte (dpi) Du für einen Ausdruck in einer bestimmten Qualität  brauchst (du kannst ja evt. auch verschiedene Qualitätsstufen anbieten), kannst du ausrechenen, welche Abmessungen (Breite x Höhe in Pixel) das Bild dafür haben muss. Und das sollte ja prüfbar sein.

      3. Hallo Verena

        Ich möchte einfach verhinder, dass User mir jeden scheiß also auch ganz kleine Bilder zuschicken und sagen druck mal.

        Ich würde zusätzlich die Dateigrösse prüfen. Hochkomprimierte JPEGs ergeben eine schlechte Druckqualität auch bei grossen Bildern.

        Du hättest aber auch die Möglichkeit, Bilder für den Druck zu bearbeiten. Ich verwende dafür PhotoZoom Pro 5 Die Version 4 gibt es jetzt kostenlos und die ist vermutlich ausreichend. Die Wirkung ist erstaunlich und das geht sehr schnell.

        Beste Grüsse Richard

      4. Ich möchte einfach verhinder, dass User mir jeden scheiß also auch ganz kleine Bilder zuschicken und sagen druck mal.

        Der letzliche DPI-Wert errechnet sich einzig aus dem Verhältnis aus Pixeln der zu druckenden cm/pt/inch.. wahtever. Martin hat das erläutert. Bei Ziel Briefmarkendruck kannst Du dem User sagen "Auflösung OK" oder bei demselben Bild für den Plakatdruck eine Warnung ausgeben "Oh, das könnte aber pixelig werden".

        Mehr geht nicht. Ob der Druck am Ende gut aussieht, kannst Du mit rein technischen Mitteln nicht prüfen. Ein 20 Megapixelbild einer schlechten Kamera bei schlechten Lichtverhältnissen wird selbst auf einer Postkarte scheiße aussehen. DPI ohne Ende, Rauschen aber auch. Ein 4-farbig angelegtes 1x1 Pixel großes TIF hingegen wird selbst auf 3000 km skaliert dem Wunsch des Kunden entsprechen.

        Gib ne DPI-Warnung aus und gut. Zusätzlich bietet man noch kostenpflichtige Proofs oder weitergehende Dienstleistungen an.

      5. Hallo,

        Extra Groß
        5040*3360
        (43*28cm @ 300dpi)

        Wenn Du, wie im o.g. Beispiel eine vorgegebene Druckgröße in mm/cm hast, kannst Du die Auflösung (bzw. die Druckgröße bei der vorgegebenen Auflösung) natürlich ausrechnen (für Höhe und Breite getrennt):

        1 Zoll = 25,4m
        Bsp. Höhe: 25,4 * Bildhöhe in Pixel / Auflösung
        also mit den o.g. Werten: 25,4*3360/300 = 284,48mm

        Wenn die Vorgabe und der berechnete Wert stark abweichen, kann dann ein entsprechender Hinweis ausgegeben werden.

        Grüße Basti