acesso dinâmico de compressão de imagem a altura da imagem

iOS desenvolvimento - URL obter o tamanho da imagem (largura e altura) de acordo com a imagem

https://www.jianshu.com/p/854dc9c810c9

 

O primeiro método é essencialmente compressão sem perdas (a olho nu não pode ver a diferença básica, eu não sei o que no final perdeu)

UIImageJPEGRepresentation (Imagem, compressão)
1
Este método pode ser fotografias iPhone6 comprimido para algumas centenas limite Kb, depois de compressão para o limite não importa quão pequeno este parâmetro, a função retorna o tamanho dos dados deixarão de mudança. Que a compressão deste método é o valor mínimo. O formato resultante é jpg. Além disso, há um UIImagePNGRepresentation método maior (<# UIImage * _Nonnull imagem #>) dados obtidos por este método será o método de dados do que o espaço anterior.

O segundo método é basicamente redefinir o tamanho do pixel para atingir o objectivo de compressão 
, a fim de atingir o objectivo de compressão, este método é com perdas, que irá reduzir a qualidade da imagem. 
O seguinte é um método de compressão

// Compress Pictures (redesenhar a imagem)
- (UIImage *) imageWithImageSimple: (UIImage *) scaledToSize imagem: (CGSize) newSize
{
    // primeiro configurar o novo tamanho da imagem de acordo com o tamanho da imagem e relação de aspecto newSize (para não atinge deformação fins de escala)
    CGFloat wtmp;
    CGFloat HTMP;
    CGSize ImgSize = Image.Size;
    IF (imgSize.width> imgSize.height) {
        wtmp = newSize.width;
        HTMP * = imgSize.height wtmp / imgSize.width ;
    } else {
        HTMP = newSize.height;
        wtmp * = imgSize.width HTMP / imgSize.height;
    }

    // Criar um contexto imagem gráfica
    UIGraphicsBeginImageContext (CGSizeMake (wtmp, hTmp));

    // Diz a imagem antiga para desenhar neste novo contexto, com o desejado
    tamanho novo //
    [imagem drawInRect: CGRectMake (0,0, WTMP, hTmp)];

    // Obter a nova imagem a partir do contexto
    UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext ();

    // fim contexto
    UIGraphicsEndImageContext ();

    // retorna a nova imagem.
    voltar newImage;
}

Publicado 49 artigos originais · ganhou elogios 7 · vê 30000 +

Acho que você gosta

Origin blog.csdn.net/qq_29680975/article/details/87631266
Recomendado
Clasificación