Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Miniatura de imagem em TQuickGrid Pessoa eu consegui, em uma TQuickGrid, conforme o exemplo: http://www.adianti.com.br/framework_files/tutor/index.php?class=DatagridImageView ,mostrar uma imagem cadastrada no meu sistema, mas ela está aparecendo no tamanho natural, gostaria de criar uma miniatura da mesma, como isso é possível....
Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (6)


JM

Acompanhando. Tô precisando disso também.
FP

Mais um precisando.. tá difícil.. mas vamos tentando
FP

Demorou um tempo mas eu consegui da seguinte maneira:

  1. <?php
  2.   /**
  3.      * On complete upload
  4.      */
  5.     public static function onComplete($param)
  6.     {
  7.         //new TMessage('info', 'Upload completed: '.$param['str_document_path']);
  8.         
  9.         // refresh photo_frame
  10.         TScript::create("$('#photo_frame').html('')");
  11.         TScript::create("$('#photo_frame').append(\"<img style='width:100%' src='tmp/{$param['str_document_path']}'>\");");
  12.     }
  13.  ?>
FP

  1. <?php
  2. //Formulário de entrada de dados de Máscara de dados
  3. class MinhcaClasseUploadForm  extends TPage{
  4.     private $form;
  5.     
  6.     public function __construct()
  7.     {
  8.         parent::__construct();
  9.         
  10.         $this->form = new TQuickForm('form_upload');
  11.         $this->form->setFormTitle(_t('Upload Data'));
  12.         $this->form->class ='tform';
  13.         //Declarando os campos que devem coincidir com o campo do banco de dados
  14.         //str_document_path = Caminho de onde está o arquivo/imagem/ etc que estará salvo no banco de dados
  15.         // ex.: assets/img/imagem1.jpg 
  16.         //        assets/img/documento.pdf
  17.         $str_document_path  =     new TFile('str_document_path'); 
  18.         
  19.         // chamando a função OnComplete
  20.         $str_document_path->setCompleteAction(new TAction(array($this'onComplete')));
  21.         //Incluir o Tooltip
  22.        
  23.         //Incluir a Validação dos campos
  24.         
  25.         //Configurando os campos - máscaras
  26.   
  27.         //Adicionando os campos
  28.         $this->form->addQuickField(_t('Document Path'), $str_document_path200);
  29.         //Inserindo o frame para apresentar a imagem com a formatação desejada
  30.         $this->frame = new TElement('div');
  31.         $this->frame->id 'photo_frame';
  32.         $this->frame->style 'width:134px;height:auto;min-height:100px;border:0px solid gray;padding:4px;';
  33.         $row $this->form->addRow();
  34.         $row->addCell('');
  35.         $row->addCell($this->frame);
  36.         //Botão de Salvamento
  37.         $save = new    TAction(array($this'onSave'));   
  38.         $this->form->addQuickAction(_t('Save'), $save'fa:save');
  39.         
  40.         //Boão de criar novo registro
  41.         $this->form->addQuickAction(_t('New'), new TAction(array($this'onEdit')), 'fa:plus-square green');
  42.         
  43.         //Criando o container
  44.         $container = new TTable;
  45.         $container->width '97%';
  46.         $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml''LocationDocList'));
  47.         $container->addRow()->addCell($this->form);
  48.         
  49.         parent::add($container);
  50.         
  51.     }
  52.     
  53.      /**
  54.      * On complete upload
  55.      */
  56.     public static function onComplete($param)
  57.     {
  58.         //new TMessage('info', 'Upload completed: '.$param['str_document_path']);
  59.         
  60.         // refresh photo_frame
  61.         TScript::create("$('#photo_frame').html('')");
  62.         TScript::create("$('#photo_frame').append(\\"<img style='width:100%' src='tmp/{$param['str_document_path']}'>\\");");
  63.     }
  64.        
  65.       
  66.  
  67.     
  68.     }
  69.     
  70.     public function makeThumbnails($updir$img$id)
  71.     {
  72.         $thumbnail_width 300;
  73.         $thumbnail_height 540;
  74.         $thumb_beforeword "";
  75.         $arr_image_details getimagesize("$updir.  "$img"); // pass id to thumb name
  76.         $original_width $arr_image_details[0];
  77.         $original_height $arr_image_details[1];
  78.         if ($original_width $original_height) {
  79.             $new_width $thumbnail_width;
  80.             $new_height intval($original_height $new_width $original_width);
  81.         } else {
  82.             $new_height $thumbnail_height;
  83.             $new_width intval($original_width $new_height $original_height);
  84.         }
  85.         $dest_x intval(($thumbnail_width $new_width) / 2);
  86.         $dest_y intval(($thumbnail_height $new_height) / 2);
  87.         if ($arr_image_details[2] == 1) {
  88.             $imgt "ImageGIF";
  89.             $imgcreatefrom "ImageCreateFromGIF";
  90.         }
  91.         if ($arr_image_details[2] == 2) {
  92.             $imgt "ImageJPEG";
  93.             $imgcreatefrom "ImageCreateFromJPEG";
  94.         }
  95.         if ($arr_image_details[2] == 3) {
  96.             $imgt "ImagePNG";
  97.             $imgcreatefrom "ImageCreateFromPNG";
  98.         }
  99.         if ($imgt) {
  100.             $old_image $imgcreatefrom("$updir.  "$img");
  101.             $new_image imagecreatetruecolor($thumbnail_width$thumbnail_height);
  102.             imagecopyresized($new_image$old_image$dest_x$dest_y00$new_width$new_height$original_width$original_height);
  103.             $imgt($new_image"$updir.  "/thumb/""$thumb_beforeword"$img");
  104.         }
  105.     }
  106. }
  107. ?>
FP

Porém ainda não sei como proibir acesso a imagem passando a URL completa através do .htaccess sem que o framework também tenha o seu acesso negado.
Gostaria que através do meu frame work tivesse acesso ao diretório onde estão os arquivos e que não fosse possível acessar pela URL completa.
Se alguém puder ajudar agradeço
Forte abraço amigos
PD

Neste exemplo:
www.adianti.com.br/framework_files/tutor/index.php?class=DatagridIma

Esta solução:
// define the transformer method over image
$column->setTransformer( function($image) {
$a= new TImage($image);
$a->style='width:50px'; // AQUI
return $a;
});