- public class ImageUtils {
- private static BufferedImage scale(BufferedImage img, int type, int dimencao, boolean higherQuality) {
- BufferedImage ret = img;
- int w, h;
- if (higherQuality) {
- // Use multi-step technique: start with original size, then
- // scale down in multiple passes with drawImage()
- // until the target size is reached
- w = img.getWidth();
- h = img.getHeight();
- } else {
- // Use one-step technique: scale directly from original
- // size to target size with a single drawImage() call
- w = dimencao;
- h = dimencao;
- }
- Graphics2D graphics = null;
- BufferedImage tmp = null;
- if (higherQuality) {
- if (w >= h) {
- h = h * dimencao / w;
- w = dimencao;
- } else {
- w = w * dimencao / h;
- h = dimencao;
- }
- }
- tmp = new BufferedImage(w, h, type);
- graphics = tmp.createGraphics();
- graphics.setComposite(AlphaComposite.Src);
- graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
- graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
- graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- graphics.drawImage(ret, 0, 0, w, h, null);
- graphics.dispose();
- ret = tmp;
- return ret;
- }
- public static byte[] getScaledImage(File file, int dimensao) {
- byte[] result = null;
- try {
- BufferedImage image = ImageIO.read(file);
- BufferedImage thumbs = ImageFileUtils.scale(image, BufferedImage.TYPE_INT_RGB, dimensao, true);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- // ImageIO.write(image, FilenameUtils.getExtension(file.getName()), baos);
- result = baos.toByteArray();
- } catch (FileNotFoundException fnfe) {
- logger.debug(fnfe == null ? "Imagem não localizada" : fnfe.getMessage());
- } catch (Exception ex) {
- logger.debug(ex == null ? ">>> erro ao atualizar o Outputstream do response." : ex.getMessage());
- }
- return result;
- }
- }
terça-feira, 15 de janeiro de 2013
Recuperar Imagem redimensionada no java
Alinhamento Vertical dentro de uma div
< ?xml version="1.0" encoding="iso-8859-1"? >
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
< html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt" >
< head >
< title >Vertical Align< /title >
< style type="text/css" >
< !--
#main {
display: table;
}
#row {
display: table-row;
}
#cell {
float: none;
display: table-cell;
vertical-align: middle;
background-color: #CCCC00;
height: 200px;
}
-- >
< /style >
< /head >
< body >
< div id="main" >
< div id="rows" >
< div id="cell" >ok< /div >
< /div >
< /div >
< /body >
< /html >
Fonte: http://forum.imasters.com.br/topic/132304-tableless-alinhamento-vertical-o-mito/
quarta-feira, 9 de janeiro de 2013
Modificando a resolução do monitor
para identificar quais resoluções são suportadas
$xrandr
para adicionar uma nova resolução
$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
para adicionar a resolução as configurações
$ xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
para adicionar a configuração ao dispositivo de video
$xrandr --addmode VGA-0 "1920x1080_60.00"
agora é so definir a configuração
Mudança temporária para placas de videos que nao suporta altas resoluções
xrandr --output LVDS1 --scale 1.5x1.5
tente
xrandr --output LVDS1 --scale 4.0x4.0
$xrandr
para adicionar uma nova resolução
$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
para adicionar a resolução as configurações
$ xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
para adicionar a configuração ao dispositivo de video
$xrandr --addmode VGA-0 "1920x1080_60.00"
agora é so definir a configuração
atenção se a resolução não for suportada pela placa verifique o drive do monitor.
Mudança temporária para placas de videos que nao suporta altas resoluções
xrandr --output LVDS1 --scale 1.5x1.5
tente
xrandr --output LVDS1 --scale 4.0x4.0
segunda-feira, 7 de janeiro de 2013
Updade com números aleatórios no oracle
Fazem parte da package DBMS_RANDOM os métodos:
Initialize (Inicializa o processo com um gerador pré definido)
Seed (Reinicia / altera o gerador)
Terminate (Termina a geração)
Random (Gera o valor randômico)
Seed (Reinicia / altera o gerador)
Terminate (Termina a geração)
Random (Gera o valor randômico)
value (gera valor numérico de acordo com o intervalo dado – default de 0 a 1)
string (gera conjunto de caracteres de acordo com os parâmetros abaixo)
Primeiro parâmetro: tipo de string a ser gerada (sempre digitada em upper case). Segundo parâmetro: tamanho da string.
U – Upper case
L – Lower case
A – Alfanumérico (Alphanumeric)
X – Alfanumérico com caracteres upper case (Alphanumeric with upper case alphabets)
P – Somente caracteres imprimíveis (printable characters only)
Outros caracteres: retorno será somente em upper case (Providing any other character will return the output in upper case only)
string (gera conjunto de caracteres de acordo com os parâmetros abaixo)
Primeiro parâmetro: tipo de string a ser gerada (sempre digitada em upper case). Segundo parâmetro: tamanho da string.
U – Upper case
L – Lower case
A – Alfanumérico (Alphanumeric)
X – Alfanumérico com caracteres upper case (Alphanumeric with upper case alphabets)
P – Somente caracteres imprimíveis (printable characters only)
Outros caracteres: retorno será somente em upper case (Providing any other character will return the output in upper case only)
Exemplos:
SQL> select dbms_random.value from dual;VALUE
———-
0,45800212SQL> select trunc(dbms_random.value(10, 99), 0) x from dual;X
———-
15SQL> select dbms_random.string(‘U’, 5) x from dual;X
——————————————————————————–
YBGZOSQL> select dbms_random.string(‘A’, 5) x from dual;X
——————————————————————————–
xWGqo
WARNING: Parameters: Invalid chunk ignored"
Esse warning ocorre quando o formulário enviado possui campos não identificados
exemplo de post que gera este problema
< h:form >
quantidade: < h:inputtext id="quantidade" >< /h:inputtext >
comentario: < textArea >< /textArea >
< /h:form >
Havia colocado o textarea somente para teste de layout, porém como ele está dentro do formulário, durante uma requisição ajax ele é submetido, o que gera o warning
WARNING: Parameters: Invalid chunk ignored"
para cada tag não jsf.
para resolver isso somente substitui o textArea por
< h:form >
quantidade: < h:inputtext id="quantidade" >< /h:inputtext >
comentario: < h:inputtextarea id="comentatio" >< /h:inputtextarea >
< /h:form >
O que gerou o seguinte post
Que resolveu o problema
exemplo de post que gera este problema
- j_idt108:j_idt168:0:j_idt171:0:quantidade:10
- :
- j_idt108:j_idt168:0:j_idt171:1:quantidade:10
- :
Ao analizar o submit com uma ferramenta de profile pude encontrar esta divergência no form.
A causa deste problema foi:
em uma página jsf possuía um formulário
A causa deste problema foi:
em uma página jsf possuía um formulário
< h:form >
quantidade: < h:inputtext id="quantidade" >< /h:inputtext >
comentario: < textArea >< /textArea >
< /h:form >
Havia colocado o textarea somente para teste de layout, porém como ele está dentro do formulário, durante uma requisição ajax ele é submetido, o que gera o warning
WARNING: Parameters: Invalid chunk ignored"
para cada tag não jsf.
para resolver isso somente substitui o textArea por
< h:form >
quantidade: < h:inputtext id="quantidade" >< /h:inputtext >
comentario: < h:inputtextarea id="comentatio" >< /h:inputtextarea >
< /h:form >
O que gerou o seguinte post
- j_idt108:j_idt168:0:j_idt171:0:quantidade:10
- j_idt108:j_idt168:0:j_idt171:0:comentatio:
- j_idt108:j_idt168:0:j_idt171:1:quantidade:10
- j_idt108:j_idt168:0:j_idt171:0:comentario:
Que resolveu o problema
Assinar:
Postagens (Atom)