2017-10-04 8 views
0

Ich habe Schwierigkeiten, png Bild in meinem PrimeFaces 6.1 anzuzeigen.Primefaces 6.1 png Bildanzeige mit schwarzem Hintergrund

Image wurde aus der Datenbank im Byte-Array-Format geladen. jpg wird gut angezeigt, aber png immer mit schwarzem Hintergrund angezeigt.

Dies ist mein Code Snippet für JSF:

<p:graphicImage value="#{fileControlBean.image}"> 
    <f:param name="fileId" value="#{file.fileId}" /> 
</p:graphicImage> 

und zurück Bohne als:

public StreamedContent getImage() throws IOException { 
    FacesContext context = FacesContext.getCurrentInstance(); 

    if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) { 
     // So, we're rendering the HTML. Return a stub StreamedContent so that it will generate right URL. 
     return new DefaultStreamedContent(); 
    } 
    else { 
     // So, browser is requesting the image. Return a real StreamedContent with the image bytes. 
     String fileId = context.getExternalContext().getRequestParameterMap().get("fileId"); 
     File file = (File) fileBean.getFileCache().get(fileId); 
     return new ByteArrayContent(file.getThumbnail(),file.getFileType(),file.getFileName()); 
    } 
} 

Alle anderen jpg Anzeige richtig, aber PNG-Bild sieht transparent eingestellt wurde auf 1. Meine Frage: Wie kann ich es wieder transparent machen? oder es ist ein Fehler?

Antwort

0

Entschuldigung, Diese Quest wurde nicht korrekt abgewickelt. Das Problem mit dem schwarzen Hintergrund wurde von png self verursacht, da es sich um ein Problem mit der Transparenz handelt. Ich habe inkscape den png wieder regeneriert. der schwarze Hintergrund ist weg.

Verwandte Themen