Rotacionando imagens em PHP + Oracle (Base64/Resource)

Usando Oracle (LOB’s)

$stid = oci_parse($this->dbconn, ‘select * from IMAGENS’);
oci_execute($stid);

while ($row = oci_fetch_array($stid)) {

//Carrega a Imagem em Resource
$img = $row[‘IMAGEM’]->load();

//Angulo de Rotação
$degrees = 0;

for ($i = 0; $i < 5; $i++) {

echo “>>> Image : ” . $row[‘ID’] . ” Rotate Angle : ” . $degrees . “\n”;

//Converte a Imagem em Base64
$b64Src = base64_encode($img);
$rotate = imagerotate(imagecreatefromstring(base64_decode($b64Src)), $degrees, 0);

ob_start();
imagejpeg($rotate);
$contents = ob_get_contents();
ob_end_clean();

$b64Src = base64_encode($contents);

if ($this->check_base64_image($b64Src)) {

} else {

echo “\n\n !!! Não é uma imagem válida !!! \n\n “;

}

//Altera a angulação para + 90 graus
$degrees = $degrees + 90;

}

}

die();

Função para validar uma imagem :

function check_base64_image($base64) {

$img = imagecreatefromstring(base64_decode($base64));
if (!$img) {

return false;

}

imagepng($img, ‘tmp.jpg’);
$info = getimagesize(‘tmp.jpg’);

unlink(‘tmp.jpg’);

if ($info[0] > 0 && $info[1] > 0 && $info[‘mime’]) {

return true;

}

return false;

}

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s