Ich benutze freeimage.net in meinem Webprojekt. Ich rotiere ein Bild (.jpg) mit RotateClassic-Funktion, aber danach ist der Hintergrund schwarz. Wie mache ich es transparent? danke für jede Hilfe.Wie macht man transparenten Hintergrund mit freeimage?
Antwort
JPG Dateien der Transparenz als gif oder png nicht unterstützen. Ich denke, Sie möchten eine andere Hintergrundfarbe als weiß (oder eine andere Farbe) richtig einstellen? Nun, Freeimage diese Option nicht unterstützt und nach dem Spiel (viel) mit dem Code fand ich eine Abhilfe, die Hintergrundfarbe auf Weiß zu ändern:
ClassicRotate.cpp
Methoden: HorizontalSkew und VerticalSkew
1) Ändern Sie den zweiten Parameter (0) in memset auf 1 oder die gewünschte Farbe, jedoch nur in den Zeilen, deren Kommentare sich auf den Hintergrund beziehen (zwei Änderungen nach Methode).
Beispiel: memset (dst_bits, 0, iOffset * Bytespp); memset (dst_bits, 1, iOffset * bytespp);
2) Ersetzen Memcpy mit Memset (1 Änderung durch Methode)
Beispiel Memcpy (dst_bits, & pxlOldLeft [0], bytespp); memset (dst_bits, 1, bytespp);
In meinem Fall habe ich 1 verwenden, um darzustellen weiß (GIF, 8bpp)
Grüße
Sie müssen die CSS Opazität Eigenschaft überprüfen.