2 Stimmen

MagickWand -> PNG zu JPG

Beim Konvertieren von PNG in JPG mit der MagickWand API, wie kann ich den Hintergrund für transparente Pixel auf eine bestimmte Farbe setzen? Ich bekomme immer noch nur einen weißen Hintergrund, den ich nicht möchte.

Ich weiß, dass es eine ähnliche Frage gibt, aber ohne Antwort = Wie kann man den Hintergrundfarbe für transparente Pixel in MagickWand einstellen?

2voto

Oldes Punkte 935

Ich habe es gefunden... Ich habe übersehen, dass MagickMergeImageLayers einen neuen Zauberstab zurückgibt! Also sieht der Code so aus:

if(current_wand && IsMagickWand(current_wand)){
    status=MagickReadImage(current_wand, "test.png");
    if (status == MagickFalse) {
        ThrowWandException(current_wand);
    }
    PixelWand *color = NewPixelWand();
    PixelSetColor(color, "red");
    MagickSetImageBackgroundColor(current_wand, color);
    MagickWand *newwand = MagickMergeImageLayers(current_wand, FlattenLayer);
    MagickWriteImage(newwand, "test.jpg");
    DestroyMagickWand(newwand);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X