About this project
it-programming / others-5
Open
Eu tenho servidor em PHP puro, nao e um site, tem uma pagna que eu comunico com ela trazer de json, envio uma string base64 para ela e a extenção da imagem, minha pagna recebe como $_POST e remonta a imagem para mim fisicamente no servidor. Eu vi na internet alguns projetos muitos bom, mas nao quanto pego a imagem ja montada pela base64, e redimenciono ela, que e o que eu preciso mesmo e redimencionar para um tamanho menor, da erro. Meus testes indicaram que a imagem remontada da base64 nao e compativel com os comandos de redimencionar que achei na internet.
Resumindo, eu preciso receber a base64, montar a imagem fisica, e depois redimencionar ela por 150 - 150. Para que fique pequena pra depois eu consumir ela.
A parte de receber e remontar a imagem ja esta pronta, fiz uma gambiara que deu certo mas nao quero que fique assim. Ficou assim, eu recebo base64, monto a imagem em um diretorio, uso WideImage para redimencionar ela, excluo a imagem antiga, pego o outro codigo que uso pra redimencionar que e muito bom e chamo de novo e redimenciono novamente, ai da super certo, mas esta com gambiara..
//Tamanho da Imagem
$altura_imagem = "150";
$largura_imagem = "150";
//Pasta onde Salvar
$SalvarPastaRaiz = 'imagens/';
$SalvarPasta150 = 'imagens/imagem150/';
//Pega os parametros enviados como POST
$encoded_string = $_POST['imagem_postagem'];
$image_name = md5(time()) . $_POST['extesao'];
//Inicia o Processo de Converter em Base64 para Imagem
$decoded_string = base64_decode($encoded_string);
$path = $image_name;
$file = fopen($path, 'wb');
$is_written = fwrite($file, $decoded_string);
fclose($file);
$image_tempo = WideImage::load($path);
$redimencionar = $image_tempo->resize(500,500);
//Deletar imagem na pasta Raiz
unlink($path);
$redimencionar->saveToFile($image_name);
////////////////////////////////////////////////////////////////////////////////////////////////////
//Imagem 1 /////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
header("Content-type: image/jpg");
//Iniciar a processo de Redimencionar a Imagem
$imagem_temporaria = imagecreatefromjpeg($image_name);
$largura_original = imagesx($imagem_temporaria);
$altura_original = imagesy($imagem_temporaria);
$nova_largura = $largura_imagem ? $largura_imagem : floor (($largura_original / $altura_original) * $altura_imagem);
$nova_altura = $altura_imagem ? $altura_imagem : floor (($altura_original / $largura_original) * $largura_imagem);
$imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura);
imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original);
//Salvar a Imagem Redimencionada na Pasta
imagejpeg($imagem_redimensionada, $SalvarPasta150.$Image_name);
//Deletar imagem na pasta Raiz
unlink($image_name);
Esse e como esta hoje. Eu nao deixei o metodo do WideImage porque ele nao deixa a imagem do tamanho que preciso, pois depois de redimanecionar fica muito grande ainda, preciso do tamanho dela no minimo uns 12kb mais que isso fica pesado o transporte da imagem.
Category IT & Programming
Subcategory Other
Project size Small
Is this a project or a position? Project
I currently have I have an idea
Required availability As needed
Experience in this type of projects No (I haven’t managed this kind of project before)
Delivery term: November 21, 2017
Skills needed