1. Miniatura
Ao navegar em álbuns, pode ser necessário gerar miniaturas correspondentes.
Faça o upload diretamente do código:
classe pública ImageUtil {Loger privado = LoggerFactory.getLogger (getClass ()); * @param w largura de miniatura* @param h altura da miniatura* @param prevfix Gere o prefixo de miniaturas * @param force se forçar as miniaturas a serem geradas de acordo com a largura e a altura (se falsas, a melhor escala é gerada) */ public void Thumbnailimage (String ImagePath, Int W, Int H, String prevfix, força boolean) {iMgfile = FILE) BMP, BMP, JPG, JPG, WBMP, JPEG, PNG, PNG, JPEG, WBMP, GIF, GIF] Tipos de String = Arrays.ToString (Imageio.getReRformatNames ()); O sufixo é legal se (sufixo == null || types.TolowerCase (). O sufixo da imagem é ilegal. ); = Integer.parseint (novo java.text.decimalformat ("0"). Formato (altura * w/(largura * 1.0))); ") .Format (Width * h/(altura * 1.0))); log.debug (" Alterar a largura da imagem, largura: {}, altura: {}. ", w, h);}}} } BufferImage bi = New BufferImage (W, H, BufferImage.type_int_rgb); ix, novo arquivo (p.substring (0, p.lastIndexOF (file.separator)) + file.separator + prevfix +imgfile.getName ()); Image ("C:/Usuários/CM/Desktop/My Page/Images/Girlnoimg.jpg", 100, 150, default_prevfix, default_force);Execute o método principal diretamente e preencha os parâmetros correspondentes.
2. Cooperado com JS para gerar fotos cortadas
Quando modificamos nossas informações pessoais do Weibo e QQ, podemos fazer upload de nossos avatares pessoais e depois cortá -los e carregá -los. O tamanho e o estilo das imagens cortadas são implementadas através do JavaScript, mas não gera uma nova imagem. No entanto, as imagens cortadas JS fornecem as coordenadas X e Y e a largura e a altura da imagem.
etapa:
1. Primeiro, usei o JS para realizar a função de corte e navegação por imagem através da página. Além disso, também podemos usar plug-ins, como o JCROP, que é um plug-in muito bom de corte de imagens.
Endereço para download: http://download.csdn.net/detail/u012385190/9733480
A renderização final é como acima.
2. Java gera e salva fotos cortadas
classe pública ImageUtil2 {Loger privado = LoggerFactory.getLogger (getClass ()); G, saída de saída, java.awt.rectangle ret) {se (srcimg.exists ()) {java.io.fileInputStream fis = null; ] String types = Arrays.toString (imageio.getReaderFormatNames ()) .replace ("]", ""); // Obtenha o sufixo da imagem se (srcimg.getName (). suffix.tolowerCase () + ",") <0) {log.error ("Desculpe, o sufixo da imagem é ilegal. O sufixo de imagem padrão é {}." + tipos); ; Imageio.Write (BI, Sufixo, saída); ) iis.close (); } // Gere o caminho de alvo Public void CutImage (arquivo srcimg, string destimgpath, java.awt.rectangle ret) {arquivo de arquivo = novo); .separator)) p = p + file.separator; Java.io.FileOutputStream (P+ Default_Cut_Prevfix+ "_"+ srcimg.getname ()), recriar); , int x, int y, int width, int altura) {cutimage (novo arquivo (srcimg), destimg, novo java.awt.rectangle (x, y, largura, altura)); Util2 (). "C:/Usuários/CM/Desktop/My Page/Images/IMGs", 124, 110, 196, 176);Este método pode ser executado diretamente no Main. Os quatro parâmetros passados são caminho de imagem, valor esquerdo, valor superior, comprimento e largura.
Vamos analisar como obter esses quatro parâmetros:
1. Tomando meu JS cortado como exemplo, recebo o seguinte através de F12:
A parte vermelha na figura é a div do corte da imagem. Como na figura, meu x/y/largura/altura é 40,28,224.228, respectivamente.
Nota: Em JS, defino o comprimento e a largura da div e a imagem como 300*300. Se a imagem que você testou não for 300*300, o efeito que você testou diretamente em Java acima será diferente do que você vê no front -end, porque eu defino a largura e a altura da imagem do front -end como 300*300, enquanto sua imagem real (ou seja, a imagem em Java) não é.
E daí se esse problema for tratado?
Obtenha o comprimento e a largura da imagem original no seu código Java e, em seguida, determine se o comprimento e a largura da imagem original são 300*300. (Meu código não o processa, eu o processarei se precisar e excluir as miniaturas depois de usar a imagem)
2. Jcrop recebe parâmetros
Conforme mostrado na figura, o JCROP fornece diretamente os parâmetros e pode ser usado diretamente. Mas uma desvantagem é que a área do tamanho da imagem da página front-end não é corrigida.
Portanto, em resumo, recomenda -se usar o primeiro JS e, em seguida, determinar se o comprimento e a largura da imagem original são 300 e gerar uma miniatura de 300*300, depois use a miniatura como um protótipo de colheita e exclua a miniatura depois de usá -la.
O método de exemplo acima é o Método Java e gerar miniaturas introduzidas pelo editor. Muito obrigado pelo seu apoio ao site wulin.com!