Sugestão layout + FileUpload + PhotoCam + PrimeFaces

Bom dia galera,

Estou com a seguinte dificuldade após efetuar a seleção de uma imagem, seja com PhotoCam ou FileUpload do Primefaces, não consigo encontrar um layout que se adapte a imagem selecionada. Acontece que se a imagem for grande, gostaria de deixa-la em um panel ou algum outro container de modo ser ajustavel. Caso ela seja menor que o espaço delimitado para a mesma, que a imagem não seja expandida se é que fui claro.

Alguem que tenha trabalhado e puder me ajudar com essa questão, desde já agradeço vlw.

Segue abaixo codigo do meu formulario:

<h:form id="frmDados"> <p:wizard widgetVar="wiz" flowListener="#{solicitacaoMB.onFlowProcess}" backLabel="Voltar" nextLabel="Avançar"> <p:tab id="etapa1" title="Etapa 1"> <p:panel> <p:panelGrid columns="1" > <h:outputLabel value="Saudações ao solicitante:"/> <h:outputLabel value="Orientações iniciais:"/> </p:panelGrid> </p:panel> </p:tab> <p:tab id="etapa2" title="Etapa 2"> <p:panel> <p:panel id="pnlImagem" style="border: dotted #a1a1a1 1px; background: transparent"> <p:panelGrid columns="1"> <p:graphicImage id="photo" value="#{pageContext.servletContext.contextPath}/resources/img/#{solicitacaoMB.imgTemp}" width="300" height="300"/> </p:panelGrid> <p:separator /> <p:panelGrid columns="2"> <p:commandButton id="cmdUpload" value="Upload" onclick="dlgUpload.show();" type="button" /> <p:commandButton id="cmdWebCam" value="Webcam" onclick="dlgWebCam.show();" type="button" /> </p:panelGrid> </p:panel> <!-- Capturar imagem webcam --> <p:dialog id="webcam" widgetVar="dlgWebCam" modal="true" dynamic="true" resizable="false" showHeader="false" closable="false" > <p:photoCam widgetVar="pcPhoto" listener="#{solicitacaoMB.oncapture}" update="photo"/> <p:separator /> <p:panelGrid columns="2"> <p:commandButton type="button" value="Capture" onclick="pcPhoto.capture()" update="photo" onsucess="dlgWebCam.hide();"/> <p:commandButton type="button" value="Cancelar" onclick="dlgWebCam.hide();"/> </p:panelGrid> </p:dialog> <!-- Efetuar Upload de imagem --> <p:dialog id="upload" widgetVar="dlgUpload" modal="true" dynamic="true" resizable="false" showHeader="false" closable="false" > <p:fileUpload fileUploadListener="#{solicitacaoMB.enviarImagem}" sizeLimit="204800" auto="true" update="photo" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" oncomplete="dlgUpload.hide();" mode="advanced" label="Selecionar" uploadLabel="Enviar" cancelLabel="Cancelar" /> <p:separator /> <p:commandButton type="button" value="Cancelar" onclick="dlgUpload.hide();"/> </p:dialog> </p:panel> </p:tab> <p:tab id="etapa3" title="Etapa 3"> <p:panel> <h:panelGrid columns="2"> <p:selectBooleanCheckbox required="true" value="true" /> Declaro estar ciente e de acordo com as normas estabelecidas para a solicitação. </h:panelGrid> <br /> <br /> <p:commandButton immediate="true" value="Enviar" update="@parent,:frmDados" ajax="false" actionListener="#{solicitacaoMB.enviarSolicitacao}"/> </p:panel> </p:tab> </p:wizard> </h:form>
P.S.: Lembrando que não estou com dificuldade capturar a imagem.

Boa Tarde

Verificar se atende a lógica empregada …

http://www.guj.com.br/java/134202-como-diminuir-resolucao-de-uma-imagem

Obrigado Cleyson,

Vou analisar sua resposta e qualquer coisa, volto para dar um feedback sobre o possível procedimento.

Enquanto isso, caso alguém tenha mais alguma sugestão ficarei grato!