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;
}