Ankündigung

Einklappen
Keine Ankündigung bisher.

Bild mit im 8 Bit RGB als 1 Bit Monochrome sichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bild mit im 8 Bit RGB als 1 Bit Monochrome sichern

    Ich habe das Problem das ich mit einer Lib (GDIndexedColorConverter) aus einem RGB-Bild ein gedithertes Monochromebild erstelle und dieses dann mit
    PHP-Code:
    imagepng(...) 
    als Monochrome (1 Bit Palette) abspeichern will.
    Habe bereits versucht das Bild nach dem dithern mittels
    PHP-Code:
    imagefilter($new_imageIMG_FILTER_GRAYSCALE);
    imagefilter($new_imageIMG_FILTER_CONTRAST, -1000); 
    zu konvertieren. Aber ich erhalte immer ein 8 Bit RGB als PNG Datei, egal was ich mache

  • #2
    Suchstichworte: ImageMagick Depth

    Kommentar


    • #3
      hey phreund
      bitte beachte in der Zukunft die Forenstruktur hier.

      Kommentar


      • #4
        Zitat von hellbringer Beitrag anzeigen
        Suchstichworte: ImageMagick Depth
        Und das geht nicht mit der GD-Lib?

        Kommentar


        • #5
          Du könntest ein neues Palettenbild aus nur einer Farbe(weiss) erzeugen und dann dein schwarzweiss Bild dort hinein kopieren.
          Anschliessend als imagepng abspeichern.

          Habe es nicht getestet, aber sollte so machbar sein.

          Kommentar


          • #6
            Ich habe es jetzt so gelöst bekommen, das ich mit "imagetruecolorpalette()" die Farbpalette auf 2 Tonwerte reduzie und diesen dann die Farbwerte schwarz und weiss gebe. Das NEGATE habe ich gemacht weil ein Vergleich mit einem anderen, aus einem Bildprogramm gespeicherten Bild ergab das dort die Indexfarbe 0 weiss war und die Indexfarbe 1 schwarz und nach der Anwendung des GDIndexedColorConverter() aus gleichnamiger Lib das Bild sonst negativ gewesen wäre. Ob das unbedingt nötig ist weiss ich nicht, aber so sieht das Bild zumindest Datentechnisch so aus als wäre es aus einer "normalen" Grafikapplikation gekommen.

            PHP-Code:
            imagefilter($imgIMG_FILTER_NEGATE);
            imagetruecolortopalette($imgtrue2);
            imagecolorset($img0255255255);
            imagecolorset($img1000); 

            Kommentar


            • #7
              Das Anwenden von imagetruecolortopalette ist wohl der Knackpunkt für eine Reduzierung der Bildgröße. Optisch habe ich mit
              PHP-Code:
              debug::write('orginal',filesize($fileName),$img);

              //imagefilter($img, IMG_FILTER_NEGATE);

              imagefilter($imgIMG_FILTER_GRAYSCALE);
              imagetruecolortopalette($imgtrue2);
              imagecolorset($img1255255255);
              imagecolorset($img0000); 
              bessere Resultate für mein Testbild bekommen (Orginal ist jpg).

              Kommentar

              Lädt...
              X