pf 3.3 인 jsf 2.0 프로젝트에서 프라임 페이스의 p:graphic image
구성 요소를 사용합니다. BalusC가 this과 같은 심각한 질문에서 설명했듯이이를 구현했습니다. 그것은 인터넷 익스플로러와 파이어 폭스에서 괜찮 으면서 ork하지만 구글 크롬에서 이미지가 깨진 이미지 링크를 뒤에 남겨두고 사라집니다.p : Google 크롬에서 잠시 후 graphicImage가 사라집니다
인터넷 탐색기에서; 내가 이미지로 저장할 때 untitled.png
이라는 이름이고 괜찮습니다.
인터넷 탐색기에서; 내가 이미지로 저장할 때 dynamiccontent.xhtml.png
이라는 이름이 붙었으니 괜찮습니다.
Google 크롬에서 그 이름이 dynamiccontent.xhtml
이고 확장자를 변경하더라도 이미지가 보이지 않습니다.
내가
BufferedImage bufferedimage = new BufferedImage(_width, _height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bufferedimage.createGraphics();
....
g2d.dispose();
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(bufferedimage, "png", os);
return os;
같은 자바 그래픽 라이브러리로 이미지를 생성 한 후 XHTML과 같은 것입니다 :
<p:graphicImage value="#{imagesBean.image}">
<f:param name="lilw" value="#{reportsLoadSheetBean.loadedIndexLandingWeight}" />
<f:param name="litow" value="#{reportsLoadSheetBean.loadedIndexTakeOffWeight}" />
<f:param name="lizfw" value="#{reportsLoadSheetBean.loadedIndexZeroFuelWeight}" />
<f:param name="tl" value="#{reportsLoadSheetBean.topLimit}" />
<f:param name="zfwf" value="#{reportsLoadSheetBean.zeroFuelWeightForward}" />
<f:param name="zfwa" value="#{reportsLoadSheetBean.zeroFuelWeightAfter}" />
<f:param name="towf" value="#{reportsLoadSheetBean.takeOffWeightForward}" />
<f:param name="towa" value="#{reportsLoadSheetBean.takeOffWeightAfter}" />
<f:param name="lwf" value="#{reportsLoadSheetBean.landingWeightForward}" />
<f:param name="lwa" value="#{reportsLoadSheetBean.landingWeightAfter}" />
<f:param name="width" value="600" />
<f:param name="height" value="200" />
</p:graphicImage>
그리고 마지막으로 응용 프로그램 이미지를 가져 와서 인터페이스로 전송 콩 범위 :
public StreamedContent getImage() throws IOException {
FacesContext context = FacesContext.getCurrentInstance();
if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
// So, we're rendering the view. Return a stub StreamedContent so
// that it will generate right URL.
return new DefaultStreamedContent();
} else {
String lilw = context.getExternalContext().getRequestParameterMap().get("lilw");
String litow = context.getExternalContext().getRequestParameterMap().get("litow");
String lizfw = context.getExternalContext().getRequestParameterMap().get("lizfw");
String tl = context.getExternalContext().getRequestParameterMap().get("tl");
String zfwf = context.getExternalContext().getRequestParameterMap().get("zfwf");
String zfwa = context.getExternalContext().getRequestParameterMap().get("zfwa");
String towf = context.getExternalContext().getRequestParameterMap().get("towf");
String towa = context.getExternalContext().getRequestParameterMap().get("towa");
String lwf = context.getExternalContext().getRequestParameterMap().get("lwf");
String lwa = context.getExternalContext().getRequestParameterMap().get("lwa");
List<Number> zeroFuelWeightIntervals = new ArrayList<Number>();
List<Number> takeOffWeightIntervals = new ArrayList<Number>();
List<Number> landingWeightIntervals = new ArrayList<Number>();
zeroFuelWeightIntervals.add(Double.valueOf(zfwf));
zeroFuelWeightIntervals.add(Double.valueOf(zfwa));
zeroFuelWeightIntervals.add(Double.valueOf(tl));
takeOffWeightIntervals.add(Double.valueOf(towf));
takeOffWeightIntervals.add(Double.valueOf(towa));
takeOffWeightIntervals.add(Double.valueOf(tl));
landingWeightIntervals.add(Double.valueOf(lwf));
landingWeightIntervals.add(Double.valueOf(lwa));
landingWeightIntervals.add(Double.valueOf(tl));
int width = Integer.parseInt(context.getExternalContext().getRequestParameterMap().get("width"));
int height = Integer.parseInt(context.getExternalContext().getRequestParameterMap().get("height"));
IdealIntervalPointDiagram diagram = new IdealIntervalPointDiagram(
"ZFL", Double.valueOf(lizfw), zeroFuelWeightIntervals,
"TOW", Double.valueOf(litow), takeOffWeightIntervals,
"LAW", Double.valueOf(lilw), landingWeightIntervals,
width, height);
ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
os = diagram.paint();
} catch (IOException e) {
e.printStackTrace();
}
return new DefaultStreamedContent(new ByteArrayInputStream(os.toByteArray()), "image/png");
}
primeface에 대한 버그 일 수 있습니까?