Bild mit definierter Farbtiefe erstellen

  • Hallo zusammen,

    ich habe ein Programm geschrieben, mit dem man Barcodes für Klebeetiketten erzeugen kann. Da es die Etiketten in Paketen zu 100 Blatt gibt
    generiere ich zuerst 100 Seiten als einzelne Grafik und füge diese Seiten dann mit IrfanView auf der Kommandozeile zusammen.
    Leider wird die Datei sehr groß, da jede einzelne Seite mit 24Bit Farbtiefe erstellt wird.
    Gibt es eine Möglichkeit, beim Generieren der Grafikseite die Farbtiefe zu setzen?

    Man hat's nicht leicht, aber leicht hat's einen.

  • Irfanview kann doch auch ohne weiteres aus x-beliebigen Bildern Schwarzweissbilder machen
    dazu in der Batchdatei /bpp=1 angeben....
    oder im Programm direkt bei "Bild/Farbtiefe reduzieren/2 Farben (Schwarzweiss)"

  • Hi Andy,

    ja, mit Irfan-View lässt sich das machen. Ich habe es mittlerweile auch so realisiert.

    Hallo Cyberdyne,

    ich erstelle eine Grafik mit GDIPlus, fülle sie mit den Barcodes (habe ich im script weggelassen), speichere die
    Grafik ab und beende GDIPlus.

    Spoiler anzeigen

    _GDIPlus_Startup()

    $tempGraph = _GDIPlus_GraphicsCreateFromHWND(_WinAPI_GetDesktopWindow())
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($BitmapWidth,$BitmapHeight,$tempGraph)
    _GDIPlus_GraphicsDispose($tempGraph)

    $hGraphics = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    ; Hintergrund weiß machen
    _GDIPlus_GraphicsClear($hGraphics,0xFFFFFFFF) ; weiß, 100% deckkraft

    .
    .
    .

    _GDIPlus_ImageSaveToFile($hBitmap,@ScriptDir & "\" & $savename)

    _GDIPlus_BitmapDispose($hBitmap)

    _GDIPlus_Shutdown()

    Man hat's nicht leicht, aber leicht hat's einen.