boa tarde pessoal,
estou desde sexta-feira pesquisando e testando de todas as maneiras (menos a correta obviamente) e me cansei:
Vou explicar mais detalhadamente, pra facilitar:
-
tenho uma tabela no banco de dados mysql com alguns campos. Um deles é chamado “arquivo”, do tipo longblob, e o outro {miniatura}, de mesmo tipo.
-
no scriptcase tem a grid e um form.
-
no form o campo {arquivo} é tipo imagem (banco de dados), para armazenar a imagem diretamente no banco.
-
o campo {miniatura} é tipo imagem (banco de dados), para armazenar a imagem redimensionada.
-
no evento onBeforeInsert tenho o seguinte código: (em parte, ok, apenas um resumo para nao enrolar muito)
// cria arquivo para variavel
$myImage1 = {arquivo}; // este é o campo a que me refiro acima.
$myImage = imagecreatefromstring($myImage1); // AQUI ACHO QUE A VARIAVEL NAO RECEBE O CONTEUDO// Pega o tamanho da imagem e proporção de resize
//Pega o “ratio” para sempre redimensionar na proporção
//Faz o calculo de proporção pela largura ou altura
//Criamos uma base de imagem na nova dimensão
//Geramos a imagem
@imagecopyresampled($process, $myImage, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig);//Geramos um thumb redimensionado e cropado
$thumb = @imagecreatetruecolor($thumbnail_width, $thumbnail_height);//limpamos a memoria usada
{miniatura}=$thumb; // <<<<--------- AQUI ELA DEVE RECEBER A IMAGEM REDIMENSIONADA DIRETAMENTE EM MEMORIA.
-
meu maior problema: não consigo passar o dito conteúdo para a variável. O objetivo é trabalhar esse conteúdo. Quero reduzir o tamanho da imagem antes de gravá-la e, se for o caso, salvar em outro campo.
No forum tem um exemplo mas com imagens fora do banco. Necessito armazenar dentro do banco. As rotinas estão prontas, EXCETO essa inconveniente dor de inteligencia.
**obs: o campo {miniatura} será eliminado depois, já que o proprio sc o cria dinamicamente. Estou mantendo-o apenas para testar se salva o {arquivo} e a copia redimensionada de {miniatura}. O problema é que trabalhar diretamente o campo {arquivo} não funciona. Tentei com base_encode64, etc. Literalmente fiz dezenas de tentativas desde sexta-feira.
agradeço o auxilio dos colegas.
se faltou explicação, eu explico.